cxs259
发表于 2012-11-9 08:51:26
剛好再找這方面的資料
謝謝版主
wangdaobin
发表于 2012-11-11 01:02:02
路过看看!!!
gisshow
发表于 2012-11-12 12:03:56
回复 学习下
chenlight
发表于 2012-11-12 23:00:32
这几天正在研究楼主的这个lisp程序,有个问题想请教下:在子程序get_poly_ptList2里面有句话
((= "AcDbCircle" (vla-get-ObjectName obj))
(setq vertexsNum (fix (/ (vlax-curve-getDistAtParam obj 2pi) fgx))
n 0)
(repeat vertexsNum
(setq pt (vlax-curve-getPointAtDist obj (* n fgx)))
(setq plist (cons pt plist)
n (1+ n)
)
)
(reverse plist)
)这个代码是判断对象是不是圆,可是子程序是从这句话引出来的,如下:
((or (= "AcDbPolyline" objname)
(= "AcDb2dPolyline" objname)
)
(setq pts (get_poly_ptList2 obj d))
)代码是判断多段线。
我的问题是主程序是判断多段线,怎么到了子程序里面还要判断是不是圆,我迷惑了。多段线里面怎么会出来圆呢,我试着用多段线画了个完整的圆,但是objectname还是acdbpolyline,麻烦楼主指点下疑惑,谢谢!
dcl1214
发表于 2012-11-13 14:22:27
很好!!!!!!!!!!!
pedromax
发表于 2012-11-13 14:36:56
看了演示圖之後
真的很有實用性
感謝樓主分享
chenlight
发表于 2012-11-16 22:49:05
本帖最后由 chenlight 于 2012-11-16 22:50 编辑
继续研究中。。。。。
再次请教gu_xl,关于“vlax-curve-getendparam”中参数的问题:
在您 的博客中有一句话“Param 在polyline中,参数值为计算点在polyline顶点上的顺序位置值,该值整数为计算点在polyline上的顶点顺序,以0为计数起点,小数部分为计算点在该poly片段上的长度比率。”我在CAD命令中用pl命令用了不同的图形,如宽度20的直线多段线,直线与圆弧结合的多段线,全是圆弧的多段线,全是直线的多段线,等等,下面是其中一例命令: (setq en(car(entsel"选择对象:")))
选择对象:<图元名: 7ef87108>
命令: (setq objen(vlax-ename->vla-object en))
#<VLA-OBJECT IAcadLWPolyline 0508bd84>
命令: (vlax-curve-getendparam objen)
4.0
也就是说这几个实例 中产生的param参数值全是整数,没有见到你说的param参数中带小数的,初学者,想东西不全,麻烦gu_xl能否举个多段线的例子,使(vlax-curve-getendparam objen)函数对于多段线产生带小数的!谢谢!
ORCHI
发表于 2012-11-16 22:54:49
这个很强大啊,多谢
zmx6189
发表于 2012-11-19 13:37:06
看看版主的怎么样
mufy
发表于 2012-11-19 16:01:09
好东西,下来学习下,感谢