yu960312 发表于 2024-5-4 10:14:45

多段线加点,求大佬完善圆弧段加点的问题


[*];;By:明经论坛用户222808
[*](defun C:DD (/ ent obj pt1 index pt pts)
[*](while
[*](and
[*](setq ent (entsel))
[*](setq obj (vlax-ename->vla-object (car ent)))
[*](setq pt1 (vlax-curve-getClosestPointTo obj (cadr ent)))
[*](setq index (fix (vlax-curve-getParamAtPoint obj pt1)))
[*](setq pt (getpoint "\n请输入添加的点:"))
[*](setq pt (reverse (cdr (reverse pt))))
[*](setq pts (vlax-make-safearray vlax-vbdouble '(0 . 1)))
[*](vlax-safearray-fill pts pt)
[*](vlax-method-applicable-p obj 'AddVertex)
[*])
[*](vla-AddVertex obj (1+ index) pts)
[*])
[*](princ)
[*])
[*]

现在多段线直线段加点没有问题,求大佬完善圆弧段加点的问题
顺便求大佬帮忙写一个类似以上程序的多段线删除顶点的功能,最好是支持圆弧段删顶点





kozmosovia 发表于 2024-5-4 13:31:12

CAD用夹点编辑就能直接添加,不需要写代码

yu960312 发表于 2024-5-4 13:35:50

kozmosovia 发表于 2024-5-4 13:31
CAD用夹点编辑就能直接添加,不需要写代码

主要是程序调用此功能

loveu515 发表于 2024-5-4 17:02:30

本帖最后由 loveu515 于 2024-5-4 17:05 编辑


G版的这个应该就可以啊
求高手帮忙完成多段线随意加关键点的程序 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=89388&fromuid=7330496 (出处: 明经CAD社区)

yu960312 发表于 2024-5-4 18:52:50

loveu515 发表于 2024-5-4 17:02
G版的这个应该就可以啊
求高手帮忙完成多段线随意加关键点的程序 http://bbs.mjtd.com/forum.php?mod=vi ...

;;;多段线加点,by:Gu_xl
(defun c:tt(/ CMDECHO EN PT ENDEN SS osmode)
(setq cmdecho (getvar 'cmdecho))
(setq osmode (getvar 'osmode))
(setvar 'cmdecho 0)
(setvar 'osmode 930)
(and
(setq en (car (entsel "\n选择多段线:")))
(WCMATCH (cdr (assoc 0 (entget en))) "*POLYLINE")
(setq pt (getpoint "\n打断位置点: "))
(progn
(setq enden (entlast))
(command "_break" en "near" pt pt)
(setq ss (ssadd))
(while (setq enden (entnext enden))
(if (not (member (cdr (assoc 0 (entget enden)))
'("ATTRIB" "VERTEX" "SEQEND")))
(ssadd enden ss)
)
)
(command "pedit" en "j" ss "" "")
)
)
(setvar 'cmdecho cmdecho)
(setvar 'osmode osmode)
(princ)
)
经测试多段线加点可以使用

z312144636 发表于 2024-5-6 20:19:35

感謝分享!!!!!!!!!!!!!!

xyp1964 发表于 2024-5-7 00:10:58

;; 科赫雪花分形


loveu515 发表于 2024-5-7 16:37:38

xyp1964 发表于 2024-5-7 00:10
;; 科赫雪花分形

页: [1]
查看完整版本: 多段线加点,求大佬完善圆弧段加点的问题