乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: suryacad

[编程交流] 无尽的中心线

[复制链接]

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:01:55 | 显示全部楼层
 
不客气。。。如果你没有2011+,也许可以试试这个代码。。。拾取的多段线必须是正确的偏移对(顶点数相同)。。。它应该可以工作,在其他一些UCS中,只需将UCS设置为与参考多段线平行。。。
 
  1. [b][color=#FF0000]([/color][/b][color=BLUE]defun[/color] [color=BLUE]c:cenoffpls[/color] [b][color=#80FF00]([/color][/b] [color=BLUE]/[/color] chkoff _sel es ed pes ped off n k [b][color=#80FF00])[/color][/b]
  2. [b][color=#80FF00]([/color][/b][color=BLUE]defun[/color] chkoff [b][color=#00FFFF]([/color][/b] es ed fuzz [color=BLUE]/[/color] member-fuzz esd edd pes ped eld edd10-42 k kk mm edd10-42g eddr10-42g eld10-42 eld10-42g [b][color=#00FFFF])[/color][/b] [b][color=#00FFFF]([/color][/b][color=BLUE]vl-load-com[/color][b][color=#00FFFF])[/color][/b]
  3.    [b][color=#00FFFF]([/color][/b][color=BLUE]defun[/color] member-fuzz [b][color=#0080FF]([/color][/b] e l f [b][color=#0080FF])[/color][/b]
  4.      [b][color=#0080FF]([/color][/b][color=BLUE]vl-member-if[/color] '[b][color=#FF00FF]([/color][/b][color=BLUE]lambda[/color] [b][color=#FF0000]([/color][/b] x [b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]and[/color] [b][color=#80FF00]([/color][/b][color=BLUE]equal[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] e[b][color=#00FFFF])[/color][/b] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] f[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]equal[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]cadr[/color] e[b][color=#00FFFF])[/color][/b] [b][color=#00FFFF]([/color][/b][color=BLUE]cadr[/color] x[b][color=#00FFFF])[/color][/b] f[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] l[b][color=#0080FF])[/color][/b]
  5.    [b][color=#00FFFF])[/color][/b]
  6.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] esd [b][color=#0080FF]([/color][/b][color=BLUE]entget[/color] es[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  7.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd [b][color=#0080FF]([/color][/b][color=BLUE]entget[/color] ed[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  8.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] pes [b][color=#0080FF]([/color][/b][color=BLUE]vlax-curve-getpointatparam[/color] es 0.5[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  9.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] ped [b][color=#0080FF]([/color][/b][color=BLUE]vlax-curve-getclosestpointto[/color] ed pes[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  10.    [b][color=#00FFFF]([/color][/b][color=BLUE]command[/color] [color=BROWN]"_.OFFSET"[/color] [color=BROWN]"_T"[/color] es [b][color=#0080FF]([/color][/b][color=BLUE]trans[/color] ped 0 1[b][color=#0080FF])[/color][/b] [color=BROWN]""[/color][b][color=#00FFFF])[/color][/b]
  11.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] eld [b][color=#0080FF]([/color][/b][color=BLUE]entget[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]entlast[/color][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  12.    [b][color=#00FFFF]([/color][/b][color=BLUE]entdel[/color] [b][color=#0080FF]([/color][/b][color=BLUE]entlast[/color][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  13.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd10-42 [b][color=#0080FF]([/color][/b][color=BLUE]vl-remove-if-not[/color] '[b][color=#FF00FF]([/color][/b][color=BLUE]lambda[/color] [b][color=#FF0000]([/color][/b] x [b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]or[/color] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 10[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] edd[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  14.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] k -1[b][color=#00FFFF])[/color][/b]
  15.    [b][color=#00FFFF]([/color][/b][color=BLUE]repeat[/color] [b][color=#0080FF]([/color][/b][color=BLUE]/[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]length[/color] edd10-42[b][color=#FF00FF])[/color][/b] 2[b][color=#0080FF])[/color][/b]
  16.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] kk [b][color=#FF00FF]([/color][/b][color=BLUE]*[/color] [b][color=#FF0000]([/color][/b][color=BLUE]setq[/color] k [b][color=#80FF00]([/color][/b][color=BLUE]1+[/color] k[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] 2[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  17.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] mm [b][color=#FF00FF]([/color][/b][color=BLUE]1+[/color] kk[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  18.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] edd10-42g [b][color=#FF00FF]([/color][/b][color=BLUE]cons[/color] [b][color=#FF0000]([/color][/b][color=BLUE]list[/color] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] kk edd10-42[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] mm edd10-42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] edd10-42g[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  19.    [b][color=#00FFFF])[/color][/b]
  20.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd10-42g [b][color=#0080FF]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  21.    [b][color=#00FFFF]([/color][/b][color=BLUE]if[/color] [b][color=#0080FF]([/color][/b][color=BLUE]eq[/color] 0 [b][color=#FF00FF]([/color][/b][color=BLUE]logand[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cdr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]assoc[/color] 70 edd[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] 1[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b] [b][color=#0080FF]([/color][/b][color=BLUE]entupd[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]cdr[/color] [b][color=#FF0000]([/color][/b][color=BLUE]assoc[/color] -1 [b][color=#80FF00]([/color][/b][color=BLUE]entmod[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]append[/color] [b][color=#0080FF]([/color][/b][color=BLUE]if[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]assoc[/color] 91 edd[b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]reverse[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cdddr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] edd[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]reverse[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cddr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] edd[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b] [b][color=#0080FF]([/color][/b][color=BLUE]if[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]assoc[/color] 91 edd[b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]list[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cadadr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]cadr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] edd[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]last[/color] edd[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]list[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cadadr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]last[/color] edd[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  22.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd [b][color=#0080FF]([/color][/b][color=BLUE]entget[/color] ed[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  23.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd10-42g [color=BLUE]nil[/color][b][color=#00FFFF])[/color][/b]
  24.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd10-42 [b][color=#0080FF]([/color][/b][color=BLUE]vl-remove-if-not[/color] '[b][color=#FF00FF]([/color][/b][color=BLUE]lambda[/color] [b][color=#FF0000]([/color][/b] x [b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]or[/color] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 10[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] edd[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  25.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] k -1[b][color=#00FFFF])[/color][/b]
  26.    [b][color=#00FFFF]([/color][/b][color=BLUE]repeat[/color] [b][color=#0080FF]([/color][/b][color=BLUE]/[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]length[/color] edd10-42[b][color=#FF00FF])[/color][/b] 2[b][color=#0080FF])[/color][/b]
  27.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] kk [b][color=#FF00FF]([/color][/b][color=BLUE]*[/color] [b][color=#FF0000]([/color][/b][color=BLUE]setq[/color] k [b][color=#80FF00]([/color][/b][color=BLUE]1+[/color] k[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] 2[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  28.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] mm [b][color=#FF00FF]([/color][/b][color=BLUE]1+[/color] kk[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  29.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] edd10-42g [b][color=#FF00FF]([/color][/b][color=BLUE]cons[/color] [b][color=#FF0000]([/color][/b][color=BLUE]list[/color] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] kk edd10-42[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] mm edd10-42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] edd10-42g[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  30.    [b][color=#00FFFF])[/color][/b]
  31.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] edd10-42g [b][color=#0080FF]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  32.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] eddr10-42g [b][color=#0080FF]([/color][/b][color=BLUE]mapcar[/color] '[b][color=#FF00FF]([/color][/b][color=BLUE]lambda[/color] [b][color=#FF0000]([/color][/b] x y [b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]list[/color] [b][color=#80FF00]([/color][/b][color=BLUE]car[/color] x[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]cons[/color] 42 [b][color=#00FFFF]([/color][/b][color=BLUE]-[/color] [b][color=#0080FF]([/color][/b][color=BLUE]cdadr[/color] y[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]reverse[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cons[/color] [b][color=#80FF00]([/color][/b][color=BLUE]if[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]eq[/color] 1 [b][color=#0080FF]([/color][/b][color=BLUE]logand[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]cdr[/color] [b][color=#FF0000]([/color][/b][color=BLUE]assoc[/color] 70 edd[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] 1[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b] [b][color=#00FFFF]([/color][/b][color=BLUE]last[/color] edd10-42g[b][color=#00FFFF])[/color][/b] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] edd10-42g[b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]reverse[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]cdr[/color] [b][color=#0080FF]([/color][/b][color=BLUE]reverse[/color] edd10-42g[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  33.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] eld10-42 [b][color=#0080FF]([/color][/b][color=BLUE]vl-remove-if-not[/color] '[b][color=#FF00FF]([/color][/b][color=BLUE]lambda[/color] [b][color=#FF0000]([/color][/b] x [b][color=#FF0000])[/color][/b] [b][color=#FF0000]([/color][/b][color=BLUE]or[/color] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 10[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]eq[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]car[/color] x[b][color=#00FFFF])[/color][/b] 42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b] eld[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  34.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] k -1[b][color=#00FFFF])[/color][/b]
  35.    [b][color=#00FFFF]([/color][/b][color=BLUE]repeat[/color] [b][color=#0080FF]([/color][/b][color=BLUE]/[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]length[/color] eld10-42[b][color=#FF00FF])[/color][/b] 2[b][color=#0080FF])[/color][/b]
  36.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] kk [b][color=#FF00FF]([/color][/b][color=BLUE]*[/color] [b][color=#FF0000]([/color][/b][color=BLUE]setq[/color] k [b][color=#80FF00]([/color][/b][color=BLUE]1+[/color] k[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] 2[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  37.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] mm [b][color=#FF00FF]([/color][/b][color=BLUE]1+[/color] kk[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  38.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] eld10-42g [b][color=#FF00FF]([/color][/b][color=BLUE]cons[/color] [b][color=#FF0000]([/color][/b][color=BLUE]list[/color] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] kk eld10-42[b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b][color=BLUE]nth[/color] mm eld10-42[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] eld10-42g[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  39.    [b][color=#00FFFF])[/color][/b]
  40.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] eld10-42g [b][color=#0080FF]([/color][/b][color=BLUE]reverse[/color] eld10-42g[b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  41.    [b][color=#00FFFF]([/color][/b][color=BLUE]if[/color] [b][color=#0080FF]([/color][/b][color=BLUE]or[/color]
  42.          [b][color=#FF00FF]([/color][/b][color=BLUE]vl-every[/color] '[b][color=#FF0000]([/color][/b][color=BLUE]lambda[/color] [b][color=#80FF00]([/color][/b] x [b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b]member-fuzz x edd10-42g fuzz[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] eld10-42g[b][color=#FF00FF])[/color][/b]
  43.          [b][color=#FF00FF]([/color][/b][color=BLUE]vl-every[/color] '[b][color=#FF0000]([/color][/b][color=BLUE]lambda[/color] [b][color=#80FF00]([/color][/b] x [b][color=#80FF00])[/color][/b] [b][color=#80FF00]([/color][/b]member-fuzz x eddr10-42g fuzz[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] eld10-42g[b][color=#FF00FF])[/color][/b]
  44.        [b][color=#0080FF])[/color][/b]
  45.        [color=BLUE]t[/color]
  46.        [color=BLUE]nil[/color]
  47.    [b][color=#00FFFF])[/color][/b]
  48. [b][color=#80FF00])[/color][/b]
  49. [b][color=#80FF00]([/color][/b][color=BLUE]defun[/color] _sel [b][color=#00FFFF]([/color][/b] msg etype [color=BLUE]/[/color] e [b][color=#00FFFF])[/color][/b]
  50.    [b][color=#00FFFF]([/color][/b][color=BLUE]setq[/color] e [b][color=#0080FF]([/color][/b][color=BLUE]car[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]entsel[/color] msg[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b]
  51.    [b][color=#00FFFF]([/color][/b][color=BLUE]cond[/color]
  52.      [b][color=#0080FF]([/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]null[/color] e[b][color=#FF00FF])[/color][/b]
  53.        [b][color=#FF00FF]([/color][/b][color=BLUE]prompt[/color] [color=BROWN]"\nMissed... Try again..."[/color][b][color=#FF00FF])[/color][/b]
  54.        [b][color=#FF00FF]([/color][/b]_sel msg etype[b][color=#FF00FF])[/color][/b]
  55.      [b][color=#0080FF])[/color][/b]
  56.      [b][color=#0080FF]([/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]/=[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cdr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]assoc[/color] 0 [b][color=#00FFFF]([/color][/b][color=BLUE]entget[/color] e[b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] etype[b][color=#FF00FF])[/color][/b]
  57.        [b][color=#FF00FF]([/color][/b][color=BLUE]prompt[/color] [color=BROWN]"\nPicked wrong entity type... Try again..."[/color][b][color=#FF00FF])[/color][/b]
  58.        [b][color=#FF00FF]([/color][/b]_sel msg etype[b][color=#FF00FF])[/color][/b]
  59.      [b][color=#0080FF])[/color][/b]
  60.      [b][color=#0080FF]([/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]=[/color] 4 [b][color=#FF0000]([/color][/b][color=BLUE]logand[/color] [b][color=#80FF00]([/color][/b][color=BLUE]cdr[/color] [b][color=#00FFFF]([/color][/b][color=BLUE]assoc[/color] 70 [b][color=#0080FF]([/color][/b][color=BLUE]tblsearch[/color] [color=BROWN]"LAYER"[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]cdr[/color] [b][color=#FF0000]([/color][/b][color=BLUE]assoc[/color] 8 [b][color=#80FF00]([/color][/b][color=BLUE]entget[/color] e[b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b] 4[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b]
  61.        [b][color=#FF00FF]([/color][/b][color=BLUE]prompt[/color] [color=BROWN]"\nPicked entity is on locked layer... Try again..."[/color][b][color=#FF00FF])[/color][/b]
  62.        [b][color=#FF00FF]([/color][/b]_sel msg etype[b][color=#FF00FF])[/color][/b]
  63.      [b][color=#0080FF])[/color][/b]
  64.      [b][color=#0080FF]([/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]eq[/color] [b][color=#FF0000]([/color][/b][color=BLUE]cdr[/color] [b][color=#80FF00]([/color][/b][color=BLUE]assoc[/color] 0 [b][color=#00FFFF]([/color][/b][color=BLUE]entget[/color] e[b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] etype[b][color=#FF00FF])[/color][/b]
  65.        e
  66.      [b][color=#0080FF])[/color][/b]
  67.    [b][color=#00FFFF])[/color][/b]
  68. [b][color=#80FF00])[/color][/b]
  69. [b][color=#80FF00]([/color][/b][color=BLUE]vl-load-com[/color][b][color=#80FF00])[/color][/b]
  70. [b][color=#80FF00]([/color][/b][color=BLUE]setq[/color] es [b][color=#00FFFF]([/color][/b]_sel [color=BROWN]"\nPick first LWPOLYLINE..."[/color] [color=BROWN]"LWPOLYLINE"[/color][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b]
  71. [b][color=#80FF00]([/color][/b][color=BLUE]setq[/color] ed [b][color=#00FFFF]([/color][/b]_sel [color=BROWN]"\nPick second LWPOLYLINE..."[/color] [color=BROWN]"LWPOLYLINE"[/color][b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b]
  72. [b][color=#80FF00]([/color][/b][color=BLUE]if[/color] [b][color=#00FFFF]([/color][/b]chkoff es ed 1e-4[b][color=#00FFFF])[/color][/b]
  73.    [b][color=#00FFFF]([/color][/b][color=BLUE]progn[/color]
  74.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] pes [b][color=#FF00FF]([/color][/b][color=BLUE]vlax-curve-getpointatparam[/color] es 0.5[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  75.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] ped [b][color=#FF00FF]([/color][/b][color=BLUE]vlax-curve-getclosestpointto[/color] ed pes[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  76.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] off [b][color=#FF00FF]([/color][/b][color=BLUE]distance[/color] ped [b][color=#FF0000]([/color][/b][color=BLUE]vlax-curve-getclosestpointto[/color] es ped[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  77.      [b][color=#0080FF]([/color][/b][color=BLUE]initget[/color] 6[b][color=#0080FF])[/color][/b]
  78.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] n [b][color=#FF00FF]([/color][/b][color=BLUE]getint[/color] [color=BROWN]"\nSpecify number of offsets <1> : "[/color][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  79.      [b][color=#0080FF]([/color][/b][color=BLUE]if[/color] [b][color=#FF00FF]([/color][/b][color=BLUE]null[/color] n[b][color=#FF00FF])[/color][/b] [b][color=#FF00FF]([/color][/b][color=BLUE]setq[/color] n 1[b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  80.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] off [b][color=#FF00FF]([/color][/b][color=BLUE]/[/color] off [b][color=#FF0000]([/color][/b][color=BLUE]1+[/color] n[b][color=#FF0000])[/color][/b][b][color=#FF00FF])[/color][/b][b][color=#0080FF])[/color][/b]
  81.      [b][color=#0080FF]([/color][/b][color=BLUE]setq[/color] k 0[b][color=#0080FF])[/color][/b]
  82.      [b][color=#0080FF]([/color][/b][color=BLUE]repeat[/color] n
  83.        [b][color=#FF00FF]([/color][/b][color=BLUE]command[/color] [color=BROWN]"_.OFFSET"[/color] [b][color=#FF0000]([/color][/b][color=BLUE]*[/color] off [b][color=#80FF00]([/color][/b][color=BLUE]setq[/color] k [b][color=#00FFFF]([/color][/b][color=BLUE]1+[/color] k[b][color=#00FFFF])[/color][/b][b][color=#80FF00])[/color][/b][b][color=#FF0000])[/color][/b] es [b][color=#FF0000]([/color][/b][color=BLUE]trans[/color] ped 0 1[b][color=#FF0000])[/color][/b] [color=BROWN]""[/color][b][color=#FF00FF])[/color][/b]
  84.      [b][color=#0080FF])[/color][/b]
  85.    [b][color=#00FFFF])[/color][/b]
  86.    [b][color=#00FFFF]([/color][/b][color=BLUE]alert[/color] [color=BROWN]"Picked LWPOLYLINES don't belong to offset pair..."[/color][b][color=#00FFFF])[/color][/b]
  87. [b][color=#80FF00])[/color][/b]
  88. [b][color=#80FF00]([/color][/b][color=BLUE]princ[/color][b][color=#80FF00])[/color][/b]
  89. [b][color=#FF0000])[/color][/b]
HTH,M.R。
回复

使用道具 举报

4

主题

22

帖子

19

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:05:30 | 显示全部楼层
谢谢marko_ribar,工作顺利。!现在我有两个Lisp程序的中心线。适合交叉检查。
一个问题,而不是先选择第一行,然后选择第二行。可以修改为同时选择两行吗?这将大大节省时间。
由于需要进行大量放大和缩小,因此需要单独平移和拾取,以防需要拾取数千行。
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-5 23:08:07 | 显示全部楼层
 
我不认为这会让事情变得更快。。。你必须用你的头脑来决定你应该选择什么实体-必须是正确的偏移对和解锁层上正确的实体类型。。。如果您选择,您的选择可能包含2个以上的实体,如果选择中有2个实体,它也可能有错误的偏移对。。。它可以稍微快一点。。。我补充说,你点击输入1个中心偏移,或者输入用户想要的偏移量。。。我认为现在是更充分的偏移检查-通过点。。。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:11:35 | 显示全部楼层
 
我的尝试只是测试测线(dxf 10 11),可能需要爆炸进行测试
[code]http://www.cadtutor.net/forum/showthread.php?88968-无穷中心线&p=609662&viewfull=1#post609662(setq*sd*0.0);成对线的多个中心偏移(defun c:OFFCL(/*error*ml m sd p1 2p e1 pair l en suml mean l oe dd);hanhphuc 2014年10月13日(defun*error*(msg)(if(not(wcmatch(strcase msg)”*CANCEL*,*EXIT*))(princ(strcat“\n error:”msg));_if结束(if oe(setvar“cmdecho”oe));_if(princ)结束;_defun结束(setq oe(getvar“cmdecho”))(命令“_UNDO”“be”)(setvar“cmdecho”0)(mapcar“set”(suml meanl)((lst/ans l)(setq ans(car lst)l(cdr lst))(而l(setq ans(mapcar)(lambda b)(float(+a b)))ans(car l))l(cdr l))((lst/)(mapcar(lambda(c)(/c(length lst)))(suml lst));_mapcar的末尾);_列表结束);_mapcar结束(grtext-1“命令:OFFCL”)(if(和(setq e(car(entsel“\n点击匹配层实体…))(setq _层(cdr(assoc 8(entget e)));_结束和(setq sd(getdist(strcat“\n短长度,约<0.0到”(rtos*sd*2 3)“>?:”);_getdist m((lambda(lay minx/ss l 2p d ap tmp l lst mp)(setq ss(ssget):l“(list’(0。“LINE”)(cons 8 lay)))(if ss(foreach LINE(vl remove if‘listp(mapcar’cadr(ssnamex ss))(setq l(entget LINE)2p(mapcar’((p)(cdr(assoc p l))))’(10 11))2p(apply’if(vl list*(apply)
回复

使用道具 举报

4

主题

22

帖子

19

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:15:32 | 显示全部楼层
我的天啊!!!这太不可思议了。可悲的是,我无法让它工作。Iam使用Acad 2013。
这是我正在做的。
1、我不想对层次有任何混淆,所以将所有内容都放在了一个层次上。
2.不希望对使用MPEDIT的直线类型产生任何混淆,并将所有直线、圆弧转换为多段线。现在我在绘图中只有多段线。
3、应用LISP
4.OFFCL输入
5.程序要求拾取匹配的层实体。。
在这一点上,我不知道我到底应该做什么。所以我随便选一条线
7、程序询问。忽略短长度,近似值:
现在我不知道该怎么办。我只是沿着随机线的长度选择两个点,如GIF中的演示所示。
9、否光标改变,程序要求选择对象。我试着选择上面所示的GIF。但什么都没有被选中。没有创建中心线。
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 23:17:49 | 显示全部楼层
您好,suryacad,如果连接的LWpolyline有不同的顶点,这将是相当具有挑战性的,这就是为什么目前我只测试直线,我会尝试调整弧偏移很快。
 
[引用]
7、程序询问。忽略短长度,近似值:
[QUOT]
这只是可以忽略的近似长度。你可以点击比墙的宽度略宽的屏幕。即:较短的线不会用于偏移
 
附上分解图进行测试。
HTH公司
新block_分解。图纸
回复

使用道具 举报

4

主题

22

帖子

19

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 23:21:51 | 显示全部楼层
非常感谢韩。我尝试使用多段线是错误的,它可以平滑地处理直线,太棒了。
再次感谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 06:30 , Processed in 0.763537 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表