vladimir 发表于 2017-11-7 09:58:54

非常好的资料,谢谢分享啊。

囗Peanut囗 发表于 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)
)

KO你 发表于 2018-12-5 18:40:44

hhh454 发表于 2017-11-1 19:11
代码思路:1,取得选择多义线的各个端点                  2,取得偏移后多义线的端点
                   ...

用不了,程序缺失

KO你 发表于 2018-12-5 19:16:53

拾取饰线偏移连接端点

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

快捷命令 QG

yoyoho 发表于 2018-12-7 00:00:15

谢谢! KO你 分享程序!!!!!

yoyoho 发表于 2018-12-7 00:23:56

谢谢! xyp1964 分享程序!!!!!

水仙的错 发表于 2019-9-13 21:15:27

能给个源码吗?,谢谢了:D

xvjiex 发表于 2019-9-13 22:29:26

xiang19751218 发表于 2017-11-2 20:33


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

xfjiamy 发表于 2019-9-21 21:45:53

谢谢!分享程序!
页: 1 [2] 3
查看完整版本: 天花石膏线偏移工具