免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 3116|回复: 6
收起左侧

[二次开发] 多段线增加顶点lsp

  [复制链接]

4

主题

239

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
92
发表于 2018-11-26 17:49 | 显示全部楼层 |阅读模式
  1. ;;;多段线或直线增加顶点,直线转为多线段
  2. ;wzg 修改于20150417
  3. (defun c:pljd ( / en en2 oldce HH:LwAddVertex)
  4. ;;164.34 [功能] 多段线增加顶点 By 自贡黄明儒
  5. ;;示例(HH:LwAddVertex (car(setq en(entsel))) (cadr en))
  6. (defun HH:LwAddVertex (en pt / GR N PP LwAddVertex)
  7.   ;;增加一个顶点
  8.   (defun LwAddVertex (obj index pt bugle sw ew)
  9.     (vlax-invoke obj 'addvertex index pt)
  10.     (vla-setbulge obj index bugle)
  11.     (vla-setwidth obj index sw ew)
  12.   )
  13.   (setq pp (vlax-curve-getClosestPointTo en (trans pt 1 0)))
  14.   (setq n (fix (vlax-curve-getParamAtPoint en pp)))
  15.   (setq obj (vlax-ename->vla-object en))
  16.   (vla-GetWidth obj n 'sw 'ew)
  17.   (setq pp (getpoint "\n 指定新增点 "))
  18.   (setq pp (mapcar '+ '(0 0) pp))
  19.   (vl-catch-all-apply 'LwAddVertex (list obj (1+ n) pp 0 sw sw))
  20. )
  21. ;;---------------------------
  22. (initget "  ")
  23. (setq en (entsel "\n选择直线或多线段要加点的子段..."))
  24. (cond
  25.         ((= en "")nil)
  26.         ((and en
  27.                 (wcmatch(cdr(assoc 0(entget(car en))))"LWPOLYLINE")
  28.                 )
  29.                 (HH:LwAddVertex (car en) (cadr en))
  30.                  (c:pljd)
  31.         )
  32.         ((and en
  33.                 (wcmatch(cdr(assoc 0 (entget (car en))))"LINE")
  34.             )
  35.                 (setq oldce (getvar "PEDITACCEPT"))
  36.                 (setvar "PEDITACCEPT" 1)
  37.                 (command "pedit" en "W" "0" "")
  38.                 (setvar "PEDITACCEPT" oldce)
  39.                 (setvar "cmdecho" 1)
  40.                 (setq en2 (entlast))
  41.                 (HH:LwAddVertex en2 (cadr en))
  42.                 (c:pljd)
  43.         )
  44.         (t (c:pljd))       
  45. )
  46. (princ)
  47. )

复制代码


评分

参与人数 1铜板 +1 收起 理由
XWIFN + 1

查看全部评分

10

主题

4020

铜板

1

好友

VIP会员

Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23Rank: 23

积分
201
发表于 2019-6-23 17:22 | 显示全部楼层
请问能按照距离批量加点吗?不用手动的。
回复 支持 1 反对 0

使用道具 举报

7

主题

3621

铜板

26

好友

助理工程师

Rank: 5Rank: 5

积分
304
发表于 2020-11-4 09:24 | 显示全部楼层
多段线增加顶点lsp  感谢分享  好用
回复 支持 反对

使用道具 举报

7

主题

1251

铜板

6

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
496
发表于 2021-6-17 12:49 | 显示全部楼层
不错啊,赞一个
回复 支持 反对

使用道具 举报

0

主题

1万

铜板

1

好友

教授级高工

Rank: 12Rank: 12Rank: 12

积分
1732
发表于 2021-7-20 17:20 | 显示全部楼层
多谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

1438

铜板

0

好友

助理工程师

Rank: 5Rank: 5

积分
312
发表于 2022-7-26 10:36 | 显示全部楼层
多谢分享!
回复

使用道具 举报

0

主题

8761

铜板

8

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2198
发表于 2023-9-25 11:25 | 显示全部楼层
过来学习学习,查漏补缺一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表