ynhh 发表于 2018-11-15 12:16:19

样条曲线转多线保持拟合控制点位置数量不变

手工选择多条 或 自动将全图中的样条曲线

按原拟合控制点位置数量不变,改为多段线。

谢谢大师的指点



yshf 发表于 2018-11-16 09:42:28

;样条曲线按拟合点转二维多段线
(defun c:test()
   (vl-load-com)
   (setq AcadDoc (vla-get-ActiveDocument (vlax-get-acad-object)))
   (vla-StartUndoMark AcadDoc)
   (if (setq ssa (ssget '((0 . "Spline"))))
         (progn
             (vlax-for obj (vla-get-ActiveSelectionSet AcadDoc)
                 (setq ptb (vlax-get-property obj "FitPoints"))
                 (setq plobj (vla-AddPolyline (vla-get-ModelSpace AcadDoc) ptb))
                 (vlax-put plobj "color" 1)
                 ;(vla-delete obj) ;;要删除原样条曲线取消此行注释
             )
             
       )
   )
   (vla-EndUndoMark AcadDoc)
   (vlax-release-object AcadDoc)
   (princ)
)

ynhh 发表于 2018-11-19 15:41:42

lisperado 发表于 2018-11-18 23:43
蓝钻会员?应该不必解释en是啥吧?

但如依照第十三楼bug,以上方法或vla-get-NumberOfFitPoints都 ...

大师批评的对
我慢慢学习研究吧
您这么高的学问
我这以前从明经上下载的两个型钢程序
能不能请您看看
第一个说要收费,不知是那里有控制?
第二个只能放在C盘,因Win10系统不宜在C盘上放文件,请您看看能不能改在CAD安装文件夹中?我试了却不显示幻灯片。
谢谢您


lisperado 发表于 2018-11-17 12:40:00

建议增加更多过滤如果发生小状况:样条曲线拟合点可能被关掉!

(setq s (ssget "X" (list '(0 . "SPLINE") '(-4 . "!=") '(74 . 0) (cons 410 (getvar "CTAB")))))

当变量SPLFRAME=1时,如果手动控制点(control points)被移位后,拟合点(Fit points)
就会被切换关掉! dxf 11 或 activeX 'FitPoints' 都无效!

https://imgur.com/a/a0eEUMw

lch8526 发表于 2018-11-15 16:39:15

请看看是不是你需要的

ynhh 发表于 2018-11-15 23:07:54

lch8526 发表于 2018-11-15 16:39
请看看是不是你需要的

谢谢大师
您这太好了
最好是把原样条曲线也删除了
你这功能太强大,不知要修改那里?
请大师再指导一下,谢谢您

lch8526 发表于 2018-11-16 09:19:20

ynhh 发表于 2018-11-15 23:07
谢谢大师
您这太好了
最好是把原样条曲线也删除了


在后面加删除原来的选择集就行啦

yshf 发表于 2018-11-16 09:34:02

本帖最后由 yshf 于 2018-11-16 09:41 编辑

<blockquote>;样条曲线按拟合点转二维多段线

ynhh 发表于 2018-11-16 10:41:59

lch8526 发表于 2018-11-16 09:19
在后面加删除原来的选择集就行啦

谢谢您的指点

ynhh 发表于 2018-11-16 10:43:28

本帖最后由 ynhh 于 2018-11-16 11:50 编辑

yshf 发表于 2018-11-16 09:42
;样条曲线按拟合点转二维多段线
(defun c:test()
   (vl-load-com)

谢谢您的好程序
的确好用

如再进一步,不知如何 自动 把全图中的样条曲线自己按此方法改为多段线?
谢谢您的指导

ynhh 发表于 2018-11-16 11:50:20

lch8526 发表于 2018-11-15 16:39
请看看是不是你需要的

再请教大师
不知如何自动把全图中的样条曲线自己按此方法改为多段线?
谢谢您

Andyhon 发表于 2018-11-16 12:20:05

手动选
(ssget '((0 . "Spline")))

自动全图选
(ssget "X" '((0 . "Spline")))
页: [1] 2 3
查看完整版本: 样条曲线转多线保持拟合控制点位置数量不变