找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: czkkk

[公告] 大神何在!!!

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-3-21 23:05:47 | 显示全部楼层
试试下面的,间距和扣除长度自己设置

  1. (defun c:tt ()
  2.   (defun _callback (dynpt)
  3.     (mapcar '(lambda (x)
  4.                (setq pts (xdrx_getpropertyvalue x "vertices")
  5.                      p1  (car pts)
  6.                      p2  (cadr pts)
  7.                      pp  (mapcar '- dynpt (trans pt 1 0))
  8.                      dir (xdrx_vector_product ydir (cadr pp))
  9.                      p3  (mapcar '+ p2 dir)
  10.                      p4  (mapcar '+ p1 dir)
  11.                )
  12.                (xdrx_polyline_setpointat x 2 p3)
  13.                (xdrx_polyline_setpointat x 3 p4)
  14.              )
  15.             ents
  16.     )
  17.   )
  18.   (defun _callback1 (key)
  19.     (cond
  20.       ((= key "S")
  21.        (if (setq
  22.              val (getreal
  23.                    (xdrx_prompt "\n输入矩形间距值<" #poly-zk-gap ">:" t)
  24.                  )
  25.            )
  26.          (setq #poly-zk-gap val)
  27.        )
  28.       )
  29.       ((= key "D")
  30.        (if (setq
  31.              val (getreal
  32.                    (xdrx_prompt "\n输入宽度扣除值<" #poly-zk-zhejian ">:" t)
  33.                  )
  34.            )
  35.          (setq #poly-zk-zhejian val)
  36.        )
  37.       )
  38.     )
  39.     (_prompt)
  40.   )
  41.   (defun _prompt()
  42.     (xdrx_prompt "\n当前设置: 间距(" #poly-zk-gap ") / 扣除长度(" #poly-zk-zhejian ")")
  43.   )
  44.   (xdrx_begin)
  45.   (if (not #poly-zk-zhejian)
  46.     (setq #poly-zk-zhejian 0)
  47.   )
  48.   (if (not #poly-zk-gap)
  49.     (setq #poly-zk-gap 10.0)
  50.   )
  51.   (_prompt)
  52.   (xdrx_initssget
  53.     "\n拾取多段线[间距(S)/扣除长度(D)]<退出>:"
  54.     "S D"
  55.     ""
  56.     "_callback1"
  57.   )
  58.   (xdrx_initget "S D")
  59.   (if
  60.     (and (setq
  61.            e (xdrx_ssget ":S:N" '((0 . "LWPOLYLINE")))

  62.          )
  63.          (setq e (ssname e 0))
  64.          (xdrx_polyline_isonlylines e)
  65.          (setq pt (getpoint "\n点取位置<退出>:"))
  66.     )
  67.      (progn
  68.        (setq verts (xdrx_getpropertyvalue e "vertices"))
  69.        (if (xdrx_curve_isclosed e)
  70.          (setq verts (xd::pnts:close verts))
  71.        )
  72.        (setq verts (xd::list:snakepair verts))
  73.        (setq xdir (getvar "ucsxdir")
  74.              ydir (getvar "ucsydir")
  75.        )
  76.        (setq base pt
  77.              ents nil
  78.        )
  79.        (mapcar '(lambda (x)
  80.                   (setq p1   base
  81.                         dis  (- (apply 'distance x) #poly-zk-zhejian)
  82.                         p2   (mapcar '+ p1 (xdrx_vector_product xdir dis))
  83.                         base (polar p2 0.0 #poly-zk-gap)
  84.                   )

  85.                   (setq ents (cons (xdrx_polyline_make
  86.                                      (list p1 p2 p2 p1)
  87.                                      t
  88.                                    )
  89.                                    ents
  90.                              )
  91.                   )
  92.                   (xdrx_entity_setpropertiesfrom (entlast) e)
  93.                 )
  94.                verts
  95.        )
  96.        (xdrx_pointmonitor "_callback")
  97.        (getpoint "\n拉伸到:")
  98.        (xdrx_pointmonitor)
  99.      )
  100.   )
  101.   (xdrx_end)
  102.   (princ)
  103. )

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-22 08:21:46 | 显示全部楼层
是的    宽度要手动输入的   每个图形中间的间距都默认是5毫米  或者手动输入也行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-22 09:00:26 | 显示全部楼层
可以了   太感谢了   
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-3-22 09:03:11 | 显示全部楼层

不客气,可以了,就编辑下主题贴,前面加上 【已解决】 吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-22 21:44:27 | 显示全部楼层
在哪里编辑主题帖   我对这个不太懂  在这里发帖求助  也是偶然的机会  以往也很少来论坛里来看  也是抱着试试的态度   也没想到真的有人帮我解决问题了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-3-22 22:17:54 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-23 22:23 , Processed in 0.232830 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表