切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 4787阅读
    • 1回复

    [原创]给AutoCAD增加标注命令 [复制链接]

    上一主题 下一主题
    离线kingxiuzi
     
    发帖
    10
    光币
    75
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2006-06-02
    给AutoCAD增加标注命 M} IRagm  
    B;8YX>r  
    K/~+bq# +  
    AutoCAD所提供的标注命令很有限,虽然国内有些二 次开发软件也提供一些比较特殊的标注,但总不全面,为 此要求用户增加一些专用的标注命令。AutoCAD有很多系统 变量,例如当前文本的固定字高这个系统变量为零或不为 零时,用TEXT命令写文本时的命令格式就不一样。而好的 应用程序必须在不改变当前系统变量的前提下,标注出与 当前系统设定的完全相同的格式文本。这就要求我们在程 序中读取各种相关的变量并采用相应的命令格式。但文本 的固定字高等一些系统变量的读取很不方便。因此笔者根 据自己的ADS编程经验,编写了一些参考书中所没有的应 用函数,姑且包含在drawing.h文件中,读者如想调用这 些函数只需在相关文件中增加一句#include“drawing.h ”即可(该文件放在..ιacadιads目录下)。根据笔 者的测试,该函数系列能普遍用于各种C语言编译器,如BC 、VC和WatcomC等(包括Auto?裁ADR12、R13的ForDOS和Fo rWindows的各种版本)。下面侧重讲解各结构变量和函数 的功能. (BC3[R@/l  
    &DX9m4,y  
      (1).结构structhgy―dim―char,包含有三个成 员变量,dim―scale、dim―text、dim―asz分别对应dims cale、dimtext、dimasz等变量,但本例函数中dim―text 、dim―asz分别是dimtext、dimasz变量与dimscale之积 (详见函数get―dim―char())。 vf@d (g  
    9Byk/&$U  
      (2).函数checkμtext(),检查当前文本的固定 字高,若读取当前字形名称错误时返回0。反之,当固定 字高不为零时返回1,当固定字高为零时返回2.调用此函 数后由返回值来确定使用text命令的格式和是否继续使用t ext命令。 xDBEs*  
    IbpE@C  
      (3).函数get―dim―char(structhgy―dim―cha r*dimchar),由结构指针通过地址来传值,读者在应用 时可以给结构增加更多的成员变量,并相应修改此函数即 可。 iSxxy1R  
    GLb}_-|  
      另附上一标注倒角的函数(标注线与倒角平行并动态 地显示)。用户可以将该函数加入到任一ADS示范文件中 ,修改示范文件中定义命令名称的结构,采用相应的批处 理编译连接即可使用。该函数有两处比较有特色,一是处 理选中的实体的数据,它包含在for()循环中。另一处是 动态绘图,包含在while()循环中。读者可试着编译连 接,领会其中动态绘图的精要。其中主要有两个ads函数, 这里给出它们的原型: N0c+V["s  
    B{ NKDkDH  
      1.intadsμgrdarw(adsμpointfrom,adsμpointt o,intcolor,inth1),绘制失量函数,其中h1非零时, 所画的失量高亮显示,否则正常显示。 ay2 m!s Q  
    oHmU|  
      2.intadsμgrread(inttrack,int*type,struct resbuf*result),其中type返回设备的类型值和输入特 性,读取的信息存到自变量result中。具体操作请参阅程 序和有关书籍. !oU$(,#9  
    [p:5]
    1条评分
    cyqdesign 金钱 +5 - 2006-06-02
     
    分享到
    离线macofyou
    发帖
    1297
    光币
    921
    光券
    0
    只看该作者 1楼 发表于: 2009-09-15
    謝謝您的熱心