导出标注

导出标注

弹出选项对话框

导出标注

导出标注

因为操作Excel可能会有点反应缓慢,请耐心等待

发表在 CAD好帮手教程 | 标签为 , | 留下评论

两点成线和两点成四边形

两点成线,主要用于将两段开口的直线连接成一条连接起来的多段线

两点成四边形,主要用于将两段开口的直线连接成一条闭合的多段线(四边形)

 

两点成线

1:选择第一条直线的连接点或附近的点

两点成线

2:选择第二条直线上的连接点或附近的点

两点成线

3:生成结果

两点成线

4:如果是两点成四边形其它完全一样,只是最后结果生成不一样而已

两点成线

 

 

 

发表在 CAD好帮手教程 | 标签为 , , | 留下评论

autolisp函数大全

函数大全

一、数学运算功能函数

    1.l(十  数值 数值…)返回:累计实数或整数数值

    1.2(一  数值 数值…)返回:差值

    1.3(*  数值 数值…)返回:所有数值乘积

    1.4(/  数值 数值…)返回:第一个数值除以第二个以后数值的商

    1.5(l十 数值)返回:数值十l

    l. 6(1— 数值)返回:数值一l

    l.7(abs 数值)返回:数值的绝对值

    1.8(atan 数值)返回:反正切值

    1.9(cos 角度)返回:角度的余弦值,角度值为弧度

    1.10(exp 数值)返回:数值的指数

    1.11(expt  底数指数)返回:底数的指数值

    1.12(fix 数值)返回:将数值转换为整数值

    1.14(gcd  数值1 数值2)返回:两数值的最大公因数

    1.15(log 数值)返回:数值的自然对数值

    1.16(max 数值 数值…)返回:数值中的最大值

    1.17(min 数值 数值…)返回:数值中的最小值

    1.18 pi              常数∏,其值约为3.1415926

    1.19(rem 数值   1数值  2)返回:M数值的相除的余数

    l.20(sin 角度)返回:角度的正旋值,角度值为弧度

    1.21(sqrt 数值)返回:数值的平方根

二、检验与逻辑运算功能函数

    2.l(=  表达式1  表达式2)比较表达式1是否等于式2,适用数值及字符串

    2.2 (/=  表达式1  表达式2)比较表达式1是否大于等于表达式2

    2.3(<  表达式1  表达式2)    比较表达式1是否<小于表达式2

    2.4(<=  表达式1  表达式2)比较表达式1是否<一小于等于表达式2

    2.5(>  表达式1  表达式2)    比较表达式1是否>大于表达式2

    2.6(>=  表达式1  表达式2) 比较表达式1是否大于等于表达式2

    2.7 (~  数值)返回:数值的位 not值,(1的补码)

    2.8 (and  表达式1  表达式2…)返回:逻辑and的结果

    2.9(boole  函数 整数 整数…)返回:位式布尔运算

    2.10(eq  表达式1  表达式2)比较表达式1与表达式2是否相同,适用列表比较(实际相同)

    2.11(equal  表达式  1表达式 2[差量])比较表达式  1与表达式 2是否相同,差量可省略(内容相同)

三、转换运算功能函数

    3.l(angtof  字符串[模式])返回:角度值的字符串转成实数

    3.2(angtos  角度[模式[精度]])返回:角度转成的字符串值

    3.3(atof  字符串)返回:字符串转成实数值

    3.4 (atoi  字符串)返回:字符串转成整数值

    3.5 (cvunit  数值 原始单位 转换单位)返回:数值转换单位后的值转换根据acad.nut文件

    3.6(distof  字符串 [模式])返回:根据模式将字符串转成实数值

    3.7(itoa  整数)返回:整数转成字符串

    3.8(rtos  数值 模式[精度])返回:实数转成字符串

3.9 (trans  点 原位置 新位置[位移]) 返回:转换坐标系统值

四、列表处理功能函数

4.1 (append  列表 列表……)结合所有列表成一个列表

4.2(assoc  关键元素 联合列表)根据关键元素找寻联合列表中关系信息

4.3 (car  列表)返回列表中的第一个元素,通常用来求X坐标

4.4(cadr  列表)返回列表中的第二个元素,通常用来求y坐标

4.5(caddr  列表)返回列表中的第三个元素,通常用来求Z坐标

4.6(cdr  列表)返回:除去第一个元素后的列表

4.7(cons  新元素 列表)返回:将新元素添加到列表

4.8(foreach 名称  列表 表达式)返回:将列表的每一元素对应至名称再根据表达式执行响应

4.9(length  列表)返回:列表内的元素数量

4.10(list  元素 元素…)返回:将所有元素合并为一列表

4.11(listp  元素)返回:判断元素是否为一串

4.12(mapcar函数 列表1列表2…)返回:将列表1、列表2列表的元素配合函数,求得新列表

4.13(member  关键元素列表)返回:根据关键元素(含似后的列表

4.14(nth  n  列表)返回:列表的第n个元素

4.15(reverse  列表)返回:将列表元素根据顺序颠倒过来的列表

4.16(subst  新项旧项列表)返回:替换新旧列表后的列表

五、字符串、字符、文件处理函数

5.l(ascii  字符串)返回:字符串第一个字符的“ASCII”码

5.2 (chr  整数)返回:整数所对应的ASCII单一字符串

5.3(close  文件 名称)关闭文件

5.4(open  文件名 模式)返回:打开文件代码,准备读取或写入信息

5.5(read 字符串)返回:列表中的字符串的第一组元素

5.6(read-char[文件代码])返回:通过键盘或文件中读取单一字符

5.7(read-line [文件代码])返回:经由键盘或文件中读取一行字符串

5.8(strcase  字符串[字样])返回:转换字符串大小写

5.9(strcat  字符串1字符串2…)返回:将各字符串合并为一个字符串

5.10(strlen  字符串)返回:字符串构成的字符数(即字符串长度)

5.11(substr  字符串 起始 长度)返回:取出于字符串‘

5.12(wcmatch  字符串 格式)返回:T或  nil,将字符串与通用字符进行比较

5.13(write-char数值[文件代码])返回:将一ASCII字符写到文件或屏幕

15.14(write-line字符串[文件代码])返回:将字符串写到文件或屏幕上

六、等待输入功能函数

6.l  (getangle [基点] [提示])请求输入十进制角度数值,响应一个弧度值提示及参考点可有可无

6.2(getcorner 基点[提示])请求输入另一矩形框对角点坐标

6.3(getdist [基点][提示])请求输入一段距离

6.4(getint [提示])请求输入一个整数值

6.5(getkword [提示]请求输入“关键词”

6.6(getorient [基点][提示])请求输入十进制角度,响应一弧度值不受angbase、angdir影响

6.7(getPoint [基点][提示])请求输入一个点的坐标

6.8(getreal [提示]请求输入一个实数

6.9(getstring  [提示])请求输入一个字符串

6.10(initget [位]字符串)设定下次getxxx函数的有效输入

七、几何运算功能函数

7.l(angle  点1  点2)取得两点的角度弧度值

7.2(distance  点1  点2)取得两点的距离

7.3(inters  点1   点2   点3  点 4[模式])取得两条线的交点

7.4(osnap  点  模式字符串)按照捕捉模式取得另一坐标点

7.5(polar 基点 弧度 距离)按照极坐标法取得另一坐标点

7.6(textbox  对象列表)取得文字字符串的两个对角点坐标

八、对象处理功能函数

8.l(entdel  对象名称)删除或取消删除对象

8.2(entget  对象名称[应用程序列表])取出对象名称的信息列表

8.3 (entlast)          取出图形信息中的最后一个对象

8.4(entmake  对象列表)建立一个新的对象列表

8.5(entmod  对象列表)根据更新的信息列表更新屏幕上元体

8.6(entnext [对象名称])找寻图面中的下一个对象

8.7(entsel [提示])请求选取一个对象,响应包含对象名称及选点坐标的列表;

8.8(entupd  对象名称)更新屏幕上复元体图形

8.9(handent  图码)返回:图码的元体名称

8.10(nentsel[提示])返回:BLOCK所含副元体对象信息列表

8.11(nentselp [提示][点])返回:BLOCK所含副元体对象信息似4*4矩形表示)

九、选择集、符号表处理函数

9.l(ssadd  [对象名称][选择集])将对象加入选择集或建立一新选择集

9.2(ssdel  对象名称选择集)将对象自选择集中移出

9.3(ssget [模式][点  1][点  2]取得一个选择集

9.4(ssget ”X” [过滤列表])取得根据过滤列表所指定范围的选择集

9.5(sslenth  选择集)计算选择集的对象个数

9.6(ssmemb  对象名称选择集)响应对象名称是否包含于选择集内

9.7(ssname  选择集索引值)根据索引值取出选择集中的对象名称

9.8(tblnext  符号表名称[T])检视符号表,有效的符号表:”LAYER”、”LTYPE”、”VIEW”、

”STYLE”、”BLOCK”

9.9(tblsearch  符号表名称  符号)在符号表中搜寻符号

十 、AutoCAD相关查询、控制功能函数 

10.l(command  ”AutoCAD命令”…)超重量级函数,调用执行 AutoCAD命令

10.2(findfile  文件名)返回:该文件名的路径及文件名

10.3(getfiled  标题 内定档名 扩展名 旗号)通过标准  AutoCAD文件对话  DCL对话框获得文件

10.4(getenv  ”环境变量”)取得该环境变量的设定值,以字符串表示

10.5(getvar  ”系统变量”)取得该系统变量的设定值,以字符串表示         

10.6(setvar  ”系统变量”值)设定该系统变量的值

10.7(regapp  应用类项)将目前的AutoCAD图形登记为一个应用程序名称

十一、判断式、循环相关功能函数

11.1(If <比较式> <表达式1> [表达式2] 检算比较式结果,如果为真,执行<表达式1>,否则执行<表达式2>

11.2( repeat  次数  [< 表达式> <表达式>…])重复执行 N次表达式

11.3(While <比较式> <表达式>…)  当条件成立则执行表达式内容

11.4(cond  <比较式 1> <表达式 1>        多条件式的  if整合功能

<比较式2> <表达式2>

 <比较式3><表达式3>)

11.5 ( prong  表达式1 表达式2…)  连接其中的表达式为一组,常用于配合if、cond等函数

十二、函数处理、定义、追踪与错误处理功能函数

12.l(*error*  字符串)程序错误时的警示信息

12.2(alert  字符串)以对话框式显示出警告字符串

12.3(apply 功能函数列表)将功能函数与列表结合后执行

12.4(defun  名称  自变量列表表达式_.)自定函数或子程序

12.5(eval 表达式)返回:表达式的执行结果

12.6(exit)强制退出目前的应用程序

12.7(lambda 自变量表达式)定义未命名的函数

12.8(progn  表达式1  表达式2…)连接其内的表达式为一组,常用于配合if、cond等函数

12.9(quit)强制退出目前的应用程序

12.10(tablet 代码 [列1列2列3方向])取用或建立对数字板的校调

12.11(trace 函数…)对函数设定追踪标记,辅助检错

12.12(untrace  函数…)对函数设定解除追踪标记

十三、显示、打印控制功能函数

13.l(gfaphscr)作图环境切换到图形画面

13.2(grclear)暂时清除模前的屏幕画面

13.3(grdraw起点终点颜色[亮显])暂时性的画出一条线

13.4(grread[追踪])由输入设备读取追踪值

13.5(grtext位置字符串[亮显])将字符串显示在状态列或屏幕菜单上

13.6(grvecs向量列表[转置矩阵])暂时性的画出多条线

13.7(menucmd字符串);提供在  AlltOLISP中调用各菜单

13.8(Prinl[表达式[文件代码]]将表达式打印于命令区或已打开的文件句柄字符则以“\”为前缀展开

13.9(pinc[表达式[文件代码]]除句柄字符则不以”\”为前缀展外开其余同Prinl

13.10(print[表达式[文件代码]]除表达式会往下一新行列出,及空一格外其余同prinl

13.11(prompt信息)将信息显示于屏幕的命令区,并随后响应一个nil信息

13.12(redraw[对象名称[模式]])重绘整张图或根据对象名称重绘该图形

13.13(terpri)           在屏幕上显示新列

13.14(textscr)           作图环境切换到文字画面

13.15(textpage)清除文字画面文字类似  DOS的cls命令

13.16(vports)返回:窗口组态列表

十四、符号、元素、表达式处理功能函数

14.l(atom元素)如果元素不是列表,响应T,否则为nil

14.2(atoms-family格式闲号列表])返回:一组己定义函数的符号列表

14.3(boundp表达式)返回:T或 nil,响应表达式是否有值存在

14.4(minusp元素)返回:T或n儿元素是否为负值

14.5(not元素)返回:T或n儿判定元素是否为ni1

14.6(null元素)返回:T或nil判定元素是否被赋予nil值

14.7(numberp元素)返回:T或nil,元素是否为整数或实数

14.8(quote表达式)响应表达式未检算前状态,同“‘”功能

14.9(set符号 表达式)将表达式结果设定给带单引号’符号

14.10(setq符号1 表达式1[符号2表达式2]…)设定表达式结果给各符号

14.11(type元素)返回:元素的信息型态

14.12(zerop元素)返回:T或nil,元素是否为0值

十五、ADS、ARX、AutoLISP加载与卸载函数

15.l(ads)返回:目前加载ADS程序列表

15.2(arx)返回:目前加载 ARX程序列表

15.3(arxload应用程序[出错处理]))返回:加载 ARX程序

15.4(arxunload应用程序[出错处理]))返回:卸载 ARX程序

15.5(ver)             返回:目前  AutoLISP版本字符串

15.6(load LSP文件名[加载失败])加载 AutoLISP文件(*.lsp)

15.7 (xload应用程序[错处理])加载ADS应用程序

15.8  (xunloa应用程序[出错处理])卸载 ADS应用程序

十六、内存空间管理函数

16.l(alloc数值)以节点数值设定区段大小

16.2(expand数值)以区段数值配置节点空间

16.3(gc)强制收回废内存

16.4(mem)显示目前的内存使用状态

16.5(xdroom对象名称)返回对象扩展信息允许使用的内存空间

16.6(xdsize列表)返回对象扩展信息所占用的内存空间

十七、其它重要的功能函数

17.l(acad­_colordlg 颜色码 旗号)显示出标准  AutoCAD颜色选择对话框

17.2(acad_helpdlg 求助文件名 主题)显示出标准 AutoCAD求助对话框

17.3(acad_strlsort字符串列表)作字符串列表排序

17.4(bherrs)         取得 bhatch与   bpcly失败所产生的错误信息

17.5(bhatch点[选择集[向量]])根据 Pick point选点方式调用 bhatch命令,绘制选集区域的剖面线

17.6(bpoly点[选择集[向量]])根据Pick point选点方式调用bpoly命令并产生一定域Polyline

17.7(cal计算式字符串)执行如  CAL计算功能

十八、ADS、ARX外部定义的3D函数

18.1(align自变量  1 自变量 2....)执行如  ALIGN命令各选项顺序

18.2(c:3dsin模式3DS文件名)导入3DS文件

18.3(C:3dsout模式3DS文件名)输出3DS文件

18.4(c:background模式[选项])设定渲染背景

18.5(C:fog模式[选项])设定渲染的雾效果

18.6(C:light模式[选项])设定渲染的灯光控制

18.7(c:lsedit模式【选项1】设定渲染的景物控制

18.8(C:lslib模式[选项])管理景物图库

18.9(c:matilb模式 材质 材质库名)管理材质数据库

18.10(c:mirror3d 自变量1 自变量2……) 执行如MIRROR3D命令

18.11(C:psdrap模式)根据模式设定值(0或1),传唤psdrap命令

18.12(C:psfill对象名称  图案名称[自变量1[自变量2]])以POStSCript图案填满

18.13(c:psin文件名 位置 比例)插入一个Postscript(*.eps)文件

18.14(c:render[渲染文件])执行渲染效果

18.15(C:rfileopt格式 自变量1 自变量2 自变量3…)设定执行渲染选项

18.16(c:replay影像文件名 影像类别[选项])展示影像文件TGA、BMP、TIF

18.17(C:rmat模式 选项)控管材质建立、贴附、编辑、分离

18.18(c:rotate3d自变量 1 自变量2…)执行如 ROTATE3D命令各选项顺序

18.19(C:rpref模式 选项[设定])渲染环境设定

18.20(c:saveimg影像文件名影像类别[选项])储存图像文件TGA、BMP、TIF

18.21 (c:scene模式 [选项])    SCENE场景管理

18.22(C:setuv模式 选集 自变量1 自变量2…)SETUV贴图模式管理

18.23(C:showmat自变量1)显示对象的材质贴附信息

18.24(C:solprof自变量  1 自变量工..)建立  3D实体的轮廓影像

18.25(C:StatS[渲染信息文件])显示渲染信息统计信息

十九、ADS、ARX外部定义的数据库相关函数

19.l(c:aseadmin自变量1 自变量2…)管理外部数据库

19.2(c:aseexportt自变量1 自变量2…)输出信息

19.3 (c:aselinks自变量1 自变量2…)连接对象与信息

19.4(c:aserow自变量1 自变量2…)管理外部信息表格

19.5(c:aseselect自变量1 自变量2…)建立外部信息与对象选集

19.6 (c:asesqled自变量 1 自变量2…) 执行SQL程序

发表在 ObjectArx | 标签为 | 留下评论

体验版本V1.0.6.20140125

最新体验版本V1.0.6.20140125

增加了功能:导入坐标点

下载地址:http://yun.baidu.com/share/link?shareid=743501776&uk=721859502

发表在 CAD好帮手发布 | 留下评论

导入坐标点

导入坐标点功能,用于从Excel中导入坐标点生成二维多段线。

导入坐标点

导入坐标点

导入坐标点

发表在 CAD好帮手教程 | 标签为 , | 留下评论

体验版本V1.0.6.20140124

体验版本V1.0.6.20140124

支持非常负责的最多不超过两百个汉字的二维码

http://yun.baidu.com/share/link?shareid=287325540&uk=721859502

发表在 CAD好帮手发布 | 标签为 , | 留下评论

计算灯具数量

下载计算灯具数量插件

用途:计算灯具数量
使用方法:
32位的AutoCAD
CAD04-06 加载sys16/DJSL.arx
CAD07-09 加载sys17/DJSL.arx
CAD10-12 加载sys18/DJSL.arx
CAD13-14 加载sys19/DJSL.arx

64位的AutoCAD
CAD10-12 加载sys18(X64)/DJSL.arx
CAD13-14 加载sys19(X64)/DJSL.arx

命令:fd
欢迎访问CAD工具之家www.cadgj.com,大量实用CAD工具,CAD好帮手,图纸比较,图纸外发等等……

发表在 CAD实用软件 | 标签为 , | 留下评论

体验版本V1.0.6.20140122

修改了文字标注的BUG

修改了导出坐标点的BUG

优化了2014版的CAD添加信任路径

优化了二维码插入,大幅减少二维码实体对象数量,通常在低于800个实体对象,优化CAD运行效率。

http://yun.baidu.com/share/link?shareid=1978661830&uk=721859502

发表在 CAD好帮手发布 | 标签为 | 留下评论

CAD2010以上版本没看到菜单栏怎么办?

CAD好帮手只支持普通的菜单栏,不支持2010以上版本的Ribbon工具栏

如果您使用2010以上版本,且遇到CAD2010以上版本没看到菜单栏

请参照下面操作

显示菜单

发表在 CAD好帮手教程 | 标签为 , | 留下评论

出现两个好帮手菜单怎么去掉一个

两个好帮手菜单

出现上图所示的两个CAD好帮手菜单怎么解决?

工具->选项->配置->重置

然后再重启CAD就可以了。

发表在 CAD好帮手教程 | 标签为 , | 留下评论

导出坐标点

菜单:  “好帮手”->”表格和Excel”->”导出坐标点”

1:选择一个多段线

多段线

2:选择导出的文件名称

Excel文件

3:生成Excel文件

坐标点

发表在 CAD好帮手教程 | 标签为 , | 留下评论

文字标注

菜单 “好帮手”->”标注”->”文字标注”

文字标注

输入标注内容,通过增加,删除,修改可以配置常用的标注文字

小技巧:双击习惯用语的某一行可以直接插入文字标注。

确定后即可生成文字标注

文字标注结果

发表在 CAD好帮手教程 | 标签为 , | 留下评论

版本升级到1.0.6

更新时间:20140121
**********************************************
软件新增了注册功能,注册后可无限制使用所有功能
前一百位用户无条件免费注册,详情见

软件注册


图纸外发,保护您图纸的知识产权
http://www.cadgj.com/tzwf
**********************************************
更新内容:
1:修补1.0.5发现的BUG
2:增加功能,定位当前文件
3:增加功能,临时隐藏
4:增加功能,恢复显示
5:增加功能,删除重叠线,删除完全重叠和被压盖的曲线
6:修正了属性转成文字的BUG
7:解决了AutoCAD2014加载时添加信任的问题
8:增加功能,文字标注
9:增加功能,导出坐标点

下载地址:http://yun.baidu.com/share/link?shareid=1979152160&uk=721859502

发表在 CAD好帮手发布 | 标签为 | 留下评论

天正炸开插件

天正炸开插件下载

支持CAD2004~2009

高级版本就要收费了。

炸开命令:yjt_gjfj

发表在 CAD实用软件 | 标签为 , , | 留下评论

CAD工具收录

大家好

如果你有什么好的CAD工具,插件

希望分享给更广大的用户

欢迎您在本网站发布

登录用户:cadgj

登录密码:cadgj

请将文章发布在”CAD实用软件”分类目录下,谢谢。

发表在 网站建设 | 标签为 | 2条评论

CAD工具开发申请

大家好

如果你有什么好的CAD工具开发意见

或者你有什么功能要求是比较常用的

欢迎您给我提意见,我会在两个工作日内给予回复。

登录用户:cadgj

登录密码:cadgj

请将文章发布在”CAD好帮手教程”分类目录下,谢谢。

发表在 网站建设 | 标签为 | 一条评论

CAD大字体什么意思?何谓形文件?详细讲解CAD的字体文件分类

转载至CAD小苗新浪博客

当用AutoCAD或浩辰CAD打开其他设计人员发过来的图纸时,经常会提示找不到相应的字体而弹出一个替换字体的对话框,如下图所示。

出现这种情况时如果不了解这个字体在图纸中具体用途,一种办法就是先“取消”不替换,等打开图纸后在看具体那些文字或符号无法正常显示;一种方法就是根据名字在列表中选择一种近似的字体,但有从字体名字能看出大致类型时用这种方法才会比较有效。由于对字体类型不了解,不仅替换时无法使字体正常显示,有时还出现类似下面的提示:

    hztxt2.shx 是大字体文件,不是形文件。

    Eref.shx 是常规字体文件,不是形文件。

    什么是大字体文件?什么是常规字体文件?什么又是形文件?他们有什么不同,各有什么作用呢?要想能正确处理文字,必须对字体的分类有所了解。

    CAD可使用的字体文件主要分为两类,一类是CAD自定义的*.shx字体;一类是操作系统中的*.ttf字体,如宋体、黑体等。两类字体设计人员都可以自行添加,通过安装字库或将*.ttf文件复制到windows的fonts目录下可以添加TTF字体,SHX字体可以直接复制到AutoCAD或浩辰CAD安装目录下的fonts目录下。

   TTF字体通常单独使用,在文字样式的字体下拉框选用即可。

 

 

   SHX字体分为两种:

    一种是字形,用于书写文本或符号,如txt.shx,gbcbig.shx等;字形又分两种:大字形与小字形,大字形定义的是双字节的亚洲文字,称大字体文件,如中文(gbcbig.shx)、韩文等等;小字形一般为西方文字,称常规字体文件,如txt.shx等等,

   一种是符号形,用于插入特殊符号、图形或定义线型中图形,如ltypeshp.shx,aaa.shx,gdt.shx等。

   符号形,顾名思义指特定符号,它的一般用法有三种:

    1、SHAPE实体常规使用:load命令载入,然后shape命令再指定相应符号名称,便加入一个SHAPE实体(常见的如aaa.shx)

    2、嵌入线型:把符号形嵌入到线型编码,然后实体指定该线型,便可使用(常见的如ltypeshp.shx)

    3、特殊符号:如公差符号,这个是内部使用,一般是GDT.shx

     

    虽然都是SHX文件,不同类型字体的用途不同,肯定不能随意替换。同类型的字体文件也不能随意替换,即使是同名的字体文件有时内部定义也不完全相同。例如在设计院使用较多的hztxt.shx就存在好多版本,有的带钢筋符号,有的不带,因此必须使用同一个版本的hztxt.shx才能保证所有字符都能正常显示。

    现在大多数设计单位对图纸使用的字体都有要求,这样可以保证内部设计交流或合作时不出现字体方面问题。当需要和其他单位进行图纸交流时,建议最好附上使用的字体文件,避免给对方带来不必要的麻烦。

发表在 CAD技巧 | 2条评论

统计对齐标注

//—————————————————————————–
//—– acrxEntryPoint.cpp
//—————————————————————————–
#include “StdAfx.h”
#include “GMTextFun.h”
//GMTextFun下载
//—————————————————————————–
#define szRDS _RXST(“”)
//1:枚举块定义上的的所有实体(包括冻结图层,锁定图层的)
Acad::ErrorStatus EnumAllEntityInBTR(AcDbObjectIdArray& ids,AcDbBlockTableRecord* pBTR)
{
 if(pBTR==NULL)
  return Acad::eNullHandle;
 //新建枚举器
 AcDbBlockTableRecordIterator* pIterator=NULL;
 Acad::ErrorStatus es=pBTR->newIterator(pIterator);
 if(es!=Acad::eOk)
  return es;
 //执行遍历
 AcDbObjectId id;
 for(pIterator->start();!pIterator->done();pIterator->step())
 {
  es=pIterator->getEntityId(id);
  if(es!=Acad::eOk)
   continue;
  ids.append(id);
 }
 //删除释放枚举器
 delete pIterator;
 pIterator=NULL;
 return Acad::eOk;
}
//4:枚举块定义上的的所有实体(包括冻结图层,锁定图层的)
Acad::ErrorStatus EnumAllEntityInBTR(AcDbObjectIdArray& ids,AcDbObjectId btrId)
{
 AcDbObject* pObj=NULL;
 Acad::ErrorStatus es=acdbOpenAcDbObject(pObj,btrId,AcDb::kForRead);
 if(es!=Acad::eOk)
  return es;
 if(!pObj->isKindOf(AcDbBlockTableRecord::desc()))
 {
  pObj->close();
  return Acad::eNotThatKindOfClass;
 }
 AcDbBlockTableRecord* pRec=AcDbBlockTableRecord::cast(pObj);
 if(pRec==NULL)
 {
  pObj->close();
  return Acad::eNullHandle;
 }
 es=EnumAllEntityInBTR(ids,pRec);
 pObj->close();
 return es;
}
//获取标注中的文字
Acad::ErrorStatus GetDimText(CString& strText,AcDbAlignedDimension* pDim)
{
 AcDbObjectIdArray ids;
 Acad::ErrorStatus es=EnumAllEntityInBTR(ids,pDim->dimBlockId());
 if(es!=Acad::eOk)
 {
  return es;
 }
 for(int i=0;i<ids.logicalLength();i++)
 {
  AcDbEntityPointer spEnt(ids.at(i),AcDb::kForRead);
  if(spEnt.openStatus()!=Acad::eOk)
  {
   continue;
  }
  if(spEnt->isKindOf(AcDbText::desc()))
  {
   AcDbText* pText=AcDbText::cast(spEnt.object());
   TCHAR* pTextStr=pText->textString();
   strText=pTextStr;
   acutDelString(pTextStr);
   return Acad::eOk;
  }
  else if(spEnt->isKindOf(AcDbMText::desc()))
  {
   AcDbMText* pText=AcDbMText::cast(spEnt.object());
   TCHAR* pTextStr=pText->contents();
   strText=pTextStr;
   acutDelString(pTextStr);
   MTextItemArray itemArr;
   itemArr.item.str=strText;
  itemArr.item.nType=-1;
  itemArr.updateChildren();
  strText=itemArr.getText();
   return Acad::eOk;
  }
 }
 return Acad::eNotApplicable;

}
void TJDQBZ()
{
 AcDbDatabase* pDb=acdbHostApplicationServices()->workingDatabase();
 if(pDb==NULL)
 {
  return;
 }
 CStringArray strTextArray;
 AcDbObjectIdArray ids;
 EnumAllEntityInBTR(ids,pDb->currentSpaceId());
 for(int i=0;i<ids.logicalLength();i++)
 {
  AcDbEntityPointer spEnt(ids.at(i),AcDb::kForRead);
  if(spEnt.openStatus()!=Acad::eOk)
  {
   continue;
  }
  if(!spEnt->isKindOf(AcDbAlignedDimension::desc()))
  {
   continue;
  }
  AcDbAlignedDimension* pDim=AcDbAlignedDimension::cast(spEnt.object());
  CString strText;
  if(GetDimText(strText,pDim)!=Acad::eOk)
  {
   continue;
  }
  strTextArray.Add(strText);
 }
 if(strTextArray.GetCount()==0)
 {
  AfxMessageBox(_T(“未找到任何距离标注”));
  return;
 }
 CString lpDwgFile;
 CFileDialog fileDlg(FALSE, _T(“.xls”), NULL, OFN_LONGNAMES | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST,
  _T(“Excel文件 (*.xls)|*.xls||”), acedGetAcadFrame());
 if (fileDlg.DoModal() != IDOK)
 {
  return;
 }
 lpDwgFile=fileDlg.GetPathName();
 try
 {
  Excel::_ApplicationPtr pExcelApp;
  HRESULT hr = pExcelApp.CreateInstance(L”Excel.Application”);
  ATLASSERT(SUCCEEDED(hr));
  pExcelApp->Visible = true;   // make Excel’s main window visible
  Excel::_WorkbookPtr pWorkbook=pExcelApp->Workbooks->Add();

  Excel::_WorksheetPtr pWorksheet = pWorkbook->ActiveSheet;
  Excel::RangePtr pRange = pWorksheet->Cells; 
  pRange->Item[1][1] = L”ID”;  // read/write cell’s data
  pRange->Item[1][2] = L”标注内容”;
  for(int i=0;i<strTextArray.GetCount();i++)
  {
   CString strId;
   strId.Format(_T(“%d”),i+1);
   pRange->Item[1+i+1][1]=_bstr_t(strId);
   pRange->Item[1+i+1][2]=_bstr_t(strTextArray.GetAt(i));

  }
  
  _variant_t FileFormat=Excel::xlExcel8;
  pWorkbook->SaveAs(_bstr_t(lpDwgFile),
   &FileFormat,   // FileFormat
         &vtMissing,    // Password
         &vtMissing,    // WriteResPassword
         &vtMissing,    // ReadOnlyRecommended
         &vtMissing,    // CreateBackup
         Excel::xlNoChange);   // AccessMode

  pWorkbook->Close(VARIANT_FALSE);  // save changes
  pExcelApp->Quit();
 }
 catch (_com_error& error)
 {
  ATLASSERT(FALSE);
  ATLTRACE2(error.ErrorMessage());
 }
}
//—————————————————————————–
//—– ObjectARX EntryPoint
class CDimTJApp : public AcRxArxApp {

public:
 CDimTJApp () : AcRxArxApp () {}

 virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
  AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
  // TODO: Add your initialization code here
  acedRegCmds->addCommand(_T(“DimTJ”),_T(“TJDQBZ”),_T(“TJDQBZ”),0,TJDQBZ);
  acutPrintf(_T(“\r\n欢迎访问CAD工具之家www.cadgj.com,大量实用CAD工具,CAD好帮手,图纸比较,图纸外发等等……”));
  acutPrintf(_T(“\r\n统计对齐标注命令:TJDQBZ”));

  return (retCode) ;
 }

 virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {
  AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;
  // TODO: Add your code here
  acedRegCmds->removeGroup(_T(“DimTJ”));

  return (retCode) ;
 }

 virtual void RegisterServerComponents () {
 }

} ;

//—————————————————————————–
IMPLEMENT_ARX_ENTRYPOINT(CDimTJApp)

发表在 ObjectArx | 留下评论

将cad多个文件合并为一个文件的软件

此软件能将多个文件合并为一个文件,少了重复打开、打印,合并后可以利用批量打印,新手刚刚注册,请大家多多支持,谢谢

图纸合并程序下载

发表在 CAD实用软件 | 留下评论

画齿轮的插件,很多个随意挑选

第一个
一个在Autocad里画齿轮的vlx插件,非常好用,不敢独享,与大家共享。

插件下载:画齿轮的程序

发表在 CAD实用软件 | 7条评论