明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: alexmai

[源码] 天花石膏线偏移工具

[复制链接]
发表于 2017-11-7 09:58:54 | 显示全部楼层
非常好的资料,谢谢分享啊。
回复

使用道具 举报

发表于 2017-11-8 06:52:37 | 显示全部楼层
好插件,谢谢分享~~
回复

使用道具 举报

发表于 2017-11-9 09:22:59 | 显示全部楼层
本帖最后由 小毛草 于 2017-11-9 09:24 编辑

以前有一个网友写的,效果差不多的,亦可以实现,
可以参考一下

(defun c:TQ (/ char-02 char-1 ent i lay lays list1 list2 long lst name name1 pt pt1 s snap ss uuu x y)
  (vl-load-com)
  (defun zz01 (ent / lst x)
    (foreach x ent
      (if (= (car x) 10)
(setq lst (cons (cdr x) lst))
      )
    )
    lst
  )
  (setvar "CMDECHO" 0)
  (command "_.purge" "B" "" "n")
  (if (null jbak)
    (setq jbak 15.0)
  )
  (setq lay nil)
  (while (setq lay (tblnext "block" (not lay)))
    (setq lays (append
   lays
   (list (cdr (assoc 2 lay)))
        )
    )
  )
  (setq uuu 0
i 0
  )
  (while (< i (length lays))
    (setq char-02 (nth i lays))
    (if (= (substr char-02 1 4) "区域")
      (progn
(if (> (atoi (substr char-02 5)) uuu)
   (setq uuu (atoi (substr char-02 5)))
)
      )
    )
    (setq i (1+ i))
  )
  (while (progn
    (while (progn
      (initget "S ")
      (if (= (setq pt (getpoint (strcat "\n指定内部点,或[设置(S)]:<偏移距离" (rtos jbak) ">")))
      "S"
   )
        (if (setq s (getreal (strcat "\n设置偏移距离:<" (rtos jbak) ">")))
   (setq jbak s)
        )
      )
      (if (null pt)
       (vl-exit-with-error "")
      )
      (or
        (= pt "S")
        (not (= (type pt) 'list))
      )
    )
    )
    (= (type pt) 'list)
  )
    (command ".UNDO" "BE")
    (setq snap (getvar "osmode"))
    (setvar "osmode" 0)
    (command "BPOLY" pt "")
    (setq name (entlast)
   list1 (zz01 (entget name))
   ss (ssadd)
    )
    (command "OFFSET" jbak name pt "")
    (setq name1 (entlast)
   list2 (zz01 (entget name1))
    )
    (ssadd name1 ss)
    (entdel name)
    (foreach x list2
      (setq long 1e6)
      (foreach y list1
(if (< (distance x y) long)
   (setq pt1 y
  long (distance x y)
   )
)
      )
      (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") (cons 10 x) (cons 11 pt1)))
      (ssadd (entlast) ss)
    )
    (setq char-1 (strcat "区域" (itoa (setq uuu (1+ uuu)))))
    (command "block" char-1 pt ss "")
    (command "INSERT" char-1 pt 1 1 0)
    (setvar "osmode" snap)
    (command ".UNDO" "E")
  )
  (princ)
)
回复

使用道具 举报

发表于 2018-12-5 18:40:44 | 显示全部楼层
hhh454 发表于 2017-11-1 19:11
代码思路:1,取得选择多义线的各个端点                  2,取得偏移后多义线的端点
                   ...

用不了,程序缺失
回复

使用道具 举报

发表于 2018-12-5 19:16:53 | 显示全部楼层

拾取饰线偏移连接端点

本帖最后由 KO你 于 2018-12-5 19:29 编辑

快捷命令 QG

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2018-12-7 00:00:15 | 显示全部楼层
谢谢! KO你 分享程序!!!!!
回复

使用道具 举报

发表于 2018-12-7 00:23:56 | 显示全部楼层
谢谢! xyp1964 分享程序!!!!!
回复

使用道具 举报

发表于 2019-9-13 21:15:27 | 显示全部楼层
能给个源码吗?,谢谢了:D
回复

使用道具 举报

发表于 2019-9-13 22:29:26 | 显示全部楼层

请问程序的启动命令,谢谢!
回复

使用道具 举报

发表于 2019-9-21 21:45:53 | 显示全部楼层
谢谢!分享程序!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-16 00:30 , Processed in 0.225601 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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