[求助]如何获取块中图元曲线长度?
获取块曲线长度很容易,如何获取块中图元曲线长度? ;;;自已顶一下(setq BlockObject("\n请击块中曲线:"))
(setq entlst (entget (car BlockObject)))
(setq sublst (nentselp "" (cadr BlockObject)));;;得到块中图元,可是(entget sublst)显示的数据发现不了图元参数 先得到块的对象
在循环的对对象集合运行相应的函数(即获得曲线长度)
(defun C:TEST (/ EN)
(setq EN (nentsel "\n选择块内曲线: "))
(setq EN (car EN))
(vlax-curve-getDistAtParam EN (vlax-curve-getEndParam EN))
) 真正要得到insert的内部子图元曲线长度,还得考虑insert的x、y scale! 本帖最后由 caoyin 于 2011-2-3 02:22 编辑
Lisper 发表于 2011-2-3 01:33 http://bbs.mjtd.com/static/image/common/back.gif
真正要得到insert的内部子图元曲线长度,还得考虑insert的x、y scale!
说的没错,其实复制-〉炸开-〉计算-〉删除并不是不可取的方法,但是炸开是要有诀窍的,因为不是所有的块都能炸开。。。 本帖最后由 自贡黄明儒 于 2011-2-7 19:35 编辑
感谢版主Caoyin,你的程序短小精悍。我试过了,你的程序无须炸开块,就可以取得块中曲线长度。
;;;本程序求得曲线长度(包括块内曲线)
自贡黄明儒 发表于 2011-2-3 23:19
感谢版主Caoyin,你的程序短小精悍。我试过了,你的程序无须炸开块,就可以取得块中曲线长度。
;;;本程序求 ...
压缩包好像损坏了
页:
[1]