自贡黄明儒 发表于 2011-1-28 15:56:23

[求助]如何获取块中图元曲线长度?

获取块曲线长度很容易,如何获取块中图元曲线长度?

自贡黄明儒 发表于 2011-1-30 18:19:38

;;;自已顶一下
(setq BlockObject("\n请击块中曲线:"))
(setq entlst (entget (car BlockObject)))
(setq sublst (nentselp "" (cadr BlockObject)));;;得到块中图元,可是(entget sublst)显示的数据发现不了图元参数

lenlenq 发表于 2011-2-2 14:01:56

先得到块的对象
在循环的对对象集合运行相应的函数(即获得曲线长度)

caoyin 发表于 2011-2-3 00:21:46

(defun C:TEST (/ EN)
(setq EN (nentsel "\n选择块内曲线: "))
(setq EN (car EN))
(vlax-curve-getDistAtParam EN (vlax-curve-getEndParam EN))
)

Lisper 发表于 2011-2-3 01:33:07

真正要得到insert的内部子图元曲线长度,还得考虑insert的x、y scale!

caoyin 发表于 2011-2-3 02:20:27

本帖最后由 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-3 23:19:58

本帖最后由 自贡黄明儒 于 2011-2-7 19:35 编辑

感谢版主Caoyin,你的程序短小精悍。我试过了,你的程序无须炸开块,就可以取得块中曲线长度。
;;;本程序求得曲线长度(包括块内曲线)

you_boss 发表于 2021-1-29 08:30:28

自贡黄明儒 发表于 2011-2-3 23:19
感谢版主Caoyin,你的程序短小精悍。我试过了,你的程序无须炸开块,就可以取得块中曲线长度。
;;;本程序求 ...

压缩包好像损坏了
页: [1]
查看完整版本: [求助]如何获取块中图元曲线长度?