几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(AutoLISP)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-27, 01:30 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 请高手帮帮忙

请高手帮帮忙
www.dimcax.com
请高手帮帮忙(vl-load-com)
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(setq hxss (ssadd))
(setq s (ssget '((0 . "line"))))
(repeat (setq s1 (sslength s))
(setq s_ent (ssname s (setq s1 (1- s1))))
(setq ent (entget s_ent))
(setq pt1 (cdr (assoc 10 ent))
pt2 (cdr (assoc 11 ent))
)
(setq zw_s (ssget "_f" (list pt1 pt2) '((0 . "insert"))))
(if (/= zw_s nil)
(progn
(repeat (setq zw_s1 (sslength zw_s))
    (setq bjyxlst '() lsts 0)
(setq zw_ent (ssname zw_s (setq zw_s1 (1- zw_s1))))
(if (not (ssmemb zw_ent hxss))
(progn
(setq hxss (ssadd zw_ent hxss))
(setq zwent (entget zw_ent))
(setq tkm (cdr (assoc 2 zwent)))
(setq pins (cdr (assoc 10 zwent)))
(setq ang (cdr (assoc 50 zwent)))
(setq zty (entget (cdr (assoc -2 (tblsearch "block" tkm)))))
(ch_z zty pins ang)
(setq bjyxlst (reverse bjyxlst))
(repeat (length bjyxlst)
(setq zbd (cdr (nth lsts bjyxlst)))
(setq zjd (vlax-curve-getclosestpointto s_ent zbd t))
(if (/= (distance zbd zjd) 0)
(command "_dimaligned" zbd zjd (polar zjd pi 1000))
)
(setq lsts (1+ lsts))
)
)
)
)
)
)
)
(setvar "osmode" 37)
(setvar "cmdecho" 1)
(princ)
这段代码是对直线上图块里的圆进行标注~为什么每个图块第一次标注时正常~~
把标注删除后~~再对该图块进行标注时确无法标注了~~也没有任何出错信息
把图纸关了重新打开又能标注了~但同一图块只能标一次~
d
(setq bjyxlst '() lsts 0)
(ch_z zty pins ang)
(setq bjyxlst (reverse bjyxlst))
啥意思。。。
听不懂你要干嘛???
d
bjyxlst里面是由ch_z函数提取出来的圆心坐标~
我的意思是为什么同一个图块只能标注一次~
把标注删了~再重新标注时就没反应了~~
也没提示出错~运行完代码但不标注
把图纸关了重新打开又能标注了~~但也只能标一次~~
删了标注重标就又不行了~~
d
最好抓个图来。。。
上面的代码太乱。。。
懒的看。
把需求说清楚,重新写更快。
d
怎么把电脑里的图发上来???
d
是不是这样子的。。。
以线选择块。。。
按你的需求,我猜测的。。。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
;;(cai-ss-values ss -1) by carrot1983
( cai-ss-values (ss item / i values)
( ( i ( ss))
(
values
(
( ( item ( ( ss ( i (1- i))))))
values
)
)
)
values
)
( cai-dxf (item elist)
( ( item elist))
)
( "._undo" "_begin")
( cmdecho ( "cmdecho"))
( "cmdecho" 0)
( ( ss ( '((0 . "line"))))
( e (cai-ss-values ss -1)
(
( ( elist ( e))
(
ss1 ( "_f"
( (cai-dxf 10 elist) (cai-dxf 11 elist))
'((0 . "insert"))
)
)
)
( e1 (cai-ss-values ss1 -1)
( elist ( e1)
v10 (cai-dxf 10 elist)
)
( pt ( e v10))
( "._dimaligned"
"_none"
pt
"_none"
v10
"_none"
( v10 ( ( 0.5 pi) ( pt v10)) 1000) ;_标注尺寸界线长度1000
)
)
)
)
)
( "cmdecho" cmdecho)
( "._undo" "_end")
()
)
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 08:32 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多