求将门窗标注移到门窗图中心点的lsp源码
本帖最后由 品茗新秀 于 2012-8-29 18:54 编辑求将门窗标注移到门窗图中心点的的程序
有时为了方便查图,将门窗标注移至门窗图中点,图面更简洁,查图完毕后,再用撤消返回原图(如能再将门窗标注再返回原图位置更佳)。
原图
达到效果
品茗新秀 发表于 2012-8-28 23:17 static/image/common/back.gif
隐藏编号不是我的意思,因为在其它操作过程中,还要查看门窗
还有上次测试图图层是锁的,这次开了
天正自定义实体没有详细的帮助文件(自带帮助lsp接口没什么用),要操作实在无从下手。。。
编号虽然隐藏了,但entmake了一个与编号一样的文本,我这里测试时可以的,cad2008+xp+天正8.2plus 又一个密探?! 关于天正门窗的问题,我还是第一次去碰,差点把电脑烧了,搜了一下,发现高飞已经说得很明白了http://bbs.mjtd.com/thread-87567-2-1.html。。。。。不用ENTMOD修改组码,用ActiveX方法似乎没问题,可惜天正提供的方法接口少得可怜,根本不能满足(而且似乎不能用检验功能,一用就崩溃)。。。。。。说实话,我对天正的组码结构完全不熟悉,对于楼主的要求,只能采用变通的方法,隐藏编号,然后entmake编号,仅此而已,仅供参考!
(DEFUN C:BHJZ(/ SS E N S s1)
(command "undo" "be")
(IF(SETQ SS(SSGET '((0 . "TCH_OPENING"))))
(REPEAT (SETQ N(SSLENGTH SS))
(SETQ S(ENTGET(SETQ E(SSNAME SS(SETQ N(1- N)))))
s1(entget(CDR(ASSOC 330 (REVERSE S))))
)
(vlax-put-property (vlax-ename->vla-object e) 'hidelabel "是");;;隐藏编号
(entmake (list '(0 . "TEXT");;;生成编号文字
(cons 1 (CDR(ASSOC 302 S)))
(cons 7 (CDR(ASSOC 7S)))
(cons 8 (CDR(ASSOC 410 (REVERSE S))))
(cons 10 (CDR(ASSOC 10 S)))
(cons 11 (CDR(ASSOC 10 S)))
(cons 40 450)
(cons 41 0.5)
(cons 50 (rem(angle (CDR(ASSOC 10 s1))
(CDR(ASSOC 11 s1))
)
3.14159
)
)
(cons 62 256)
(cons 72 4)
)
)
)
)
(command "undo" "e")
(PRINC)
)
在CAD2006测试,出现 这个我也没有具体的思路, 想想应该和两个批量的物体对齐(G版曾编过一个)意思差不多 真有钱啊,500个币,不过也就50快人民币而已。 局部测试通过:
本帖最后由 品茗新秀 于 2012-8-28 23:19 编辑
隐藏编号不是我的意思,因为在其它操作过程中,还要查看门窗
还有上次测试图图层是锁的,这次开了
yjr111 发表于 2012-8-28 23:30 static/image/common/back.gif
天正自定义实体没有详细的帮助文件(自带帮助lsp接口没什么用),要操作实在无从下手。。。
编号虽然隐藏 ...
楼主十分给力,强大,只是还要优化一下,框选整个测试图反应太慢了
页:
[1]
2