本帖最后由 张和平 于 2013-7-14 15:56 编辑
======更新V3.4.0
1、支持带圆弧的边界;
2、边界线和洞口线分为两根pline线,同时两者组为一个组,方便单独编辑洞口线,也方便一起删除边界线和洞口折线。
======更新V3.1.0
===========================================
自己编的小小插件,真的是很小的插件,有用的可以下载了用用看有人要求公开代码,我就斗胆公开了,初学Visual Lisp,其实就是极为简单的命令哈
以上为第一版,请下载试用第二版:
第二版源码:
第二版直接可用的下载地址:http://s.yunio.com/S_F0lC
2013/03/13
今天在大神的指导下解决了插件冲突的问题,然后顺便优化了一下这个画洞口的小插件,
当然也要感谢springwillow的指导。
现在放出这个插件的V2.1.0版。
在最新版的源码上邪恶地收了一个明经币,因为实在买不起别人的东西啊。。
不过前面几版的源码还是免费分享。
V2.1.0直接可用的打包:
V2.1.0源码:
网友答:

网友答: 很好的东西,感谢楼主的无私奉献
下载后稍作修改可以实现我想要的功能,点选封闭空间,自动画门洞折线并将其归到图层内,本人想把源码精简下,能实现这个功能就行,无奈看不懂,楼主能否帮忙精简下,把不必要的删了,谢谢
网友答: 找的就是这个,好东西。谢谢!网友答: 正在找,下来看看。是源码吗?网友答:
不是源码,,下载用用看先把,,源码没几行网友答: 希望谢谢楼主,开源共享,网友答:
哈哈,已公开网友答: 更新了画洞口插件的V2.1.0版,感谢springwillow的指导。沿用了你的思路,更改了其中的错误。邪恶地赚点币,因为实在买不起别人的东西哈。。。忘见谅。。网友答:
什么时候增加一个圆开孔口网友答: 给个图啊 是画什么洞口?网友答:
最近有点忙,所以没有时间更新, 不过这个小插件还是有更新的计划的。你不妨提供一下你需要的圆孔的样式,我可以考虑加进去。不过要有耐心等啊。。网友答:
圆孔同方孔差不多,还可以增加一个选圆变孔,选矩形变孔
======更新V3.4.0
1、支持带圆弧的边界;
2、边界线和洞口线分为两根pline线,同时两者组为一个组,方便单独编辑洞口线,也方便一起删除边界线和洞口折线。
======更新V3.1.0
===========================================
自己编的小小插件,真的是很小的插件,有用的可以下载了用用看有人要求公开代码,我就斗胆公开了,初学Visual Lisp,其实就是极为简单的命令哈

- ;;; DRAW HOLES
- ;;; VERSION 1.0.0
- ;;; By PEACE
- ;;; Copyright (C) 2012-2013 ZIAD, All Rights Reserved
- ;;; Website: http://blog.sina.com.cn/peacelvirene
- ;;; E-mail: zhptj1986@gmail.com
- ;;; 2013-01-23
- ;;; "mdk" for multi dk models
- ;;; "dk" for single dk model
- (defun c:mdk(/ v1 v2 v3 v4 p1 p2 p3 p4 p5 x1 y1 x3 y3 x5 y5 ms)
- (setq v1 (getvar "cmdecho"))
- (setq v2 (getvar "blipmode"))
- (setq v3 (getvar "CLAYER"))
- (setq v4 (getvar "osmode"))
- (setvar "cmdecho" 0)
- (setvar "blipmode" 0)
-
- (setq ms (getstring "(A)此层开洞(默认)或[(B)此层不开洞/(C)此层开洞并填充]:"))
- (if (= ms "")
- (setq ms "A")
- )
- (setq p1 (getpoint "\n输入矩形洞口的一个角点:"))
- (setq p3 (getcorner p1 "\n输入矩形洞口的另一个角点:"))
- (setq x1 (car p1))
- (setq y1 (cadr p1))
- (setq x3 (car p3))
- (setq y3 (cadr p3))
- (setq p2 (list x3 y1))
- (setq p4 (list x1 y3))
- (setq x5 (+ x1 (* 0.15 (- x3 x1))))
- (setq y5 (+ y1 (* 0.85 (- y3 y1))))
- (setq p5 (list x5 y5))
- (setvar "osmode" 0)
- (cond ((or (= ms "A") (= ms "a"))
- (progn (tuceng "结洞口实" 7 "continuous")
- ;(command "pline" p1 "w" 0.3 0.3 p5 p3 "")
- ;(command "pline" p1 p2 p3 p4 "c")
- (command "line" p1 p2 p3 p4 p1 "")
- (command "line" p1 p5 p3 "")
- )
- )
- ((or (= ms "B") (= ms "b"))
- (progn (tuceng "结洞口虚" 7 "dash")
- (command "line" p1 p2 p3 p4 p1 "")
- (command "line" p1 p5 p3 "")
- )
- )
- ((or (= ms "C") (= ms "c"))
- (progn (tuceng "结洞口实" 7 "continuous")
- (command "line" p1 p2 p3 p4 p1 "")
- (command "line" p1 p5 p3 "")
- (command "solid" p1 p4 p5 p3 "")
- )
- )
- )
- (setvar "cmdecho" v1)
- (setvar "blipmode" v2)
- (setvar "CLAYER" v3)
- (setvar "osmode" v4)
- )
- (defun c:dk(/ v1 v2 v3 v4 p1 p2 p3 p4 p5 x1 y1 x3 y3 x5 y5)
- (setq v1 (getvar "cmdecho"))
- (setq v2 (getvar "blipmode"))
- (setq v3 (getvar "CLAYER"))
- (setq v4 (getvar "osmode"))
- (setvar "cmdecho" 0)
- (setvar "blipmode" 0)
- (setq p1 (getpoint "\n输入矩形洞口的一个角点:"))
- (setq p3 (getcorner p1 "\n输入矩形洞口的另一个角点:"))
- (setq x1 (car p1))
- (setq y1 (cadr p1))
- (setq x3 (car p3))
- (setq y3 (cadr p3))
- (setq p2 (list x3 y1))
- (setq p4 (list x1 y3))
- (setq x5 (+ x1 (* 0.15 (- x3 x1))))
- (setq y5 (+ y1 (* 0.85 (- y3 y1))))
- (setq p5 (list x5 y5))
- (setvar "osmode" 0)
- (tuceng "结洞口实" 7 "continuous")
- (command "line" p1 p2 p3 p4 p1 "")
- (command "line" p1 p5 p3 "")
- (command "solid" p1 p4 p5 p3 "")
- (setvar "cmdecho" v1)
- (setvar "blipmode" v2)
- (setvar "CLAYER" v3)
- (setvar "osmode" v4)
- )
- (defun c:dkl(/ v1 v2 v3 v4 p1 p2 p3 p4 x1 y1 x2 y2 x3 y3 x4 y4 x5 y5)
- (setq v1 (getvar "cmdecho"))
- (setq v2 (getvar "blipmode"))
- (setq v3 (getvar "CLAYER"))
- (setq v4 (getvar "osmode"))
- (setvar "cmdecho" 0)
- (setvar "blipmode" 0)
- (setq p1 (getpoint "\n输入洞口线起点:"))
- (setq p2 (getpoint "\n输入洞口线中点:"))
- (setq p3 (getpoint "\n输入洞口线末点:"))
- (setvar "osmode" 0)
- (setq x1 (car p1))
- (setq y1 (cadr p1))
- (setq x2 (car p2))
- (setq y2 (cadr p2))
- (setq x3 (car p3))
- (setq y3 (cadr p3))
- (setq x5 (* 0.5 (+ x1 x3)))
- (setq y5 (* 0.5 (+ y1 y3)))
- (setq x4 (+ x2 (* 0.3 (- x5 x2))))
- (setq y4 (+ y2 (* 0.3 (- y5 y2))))
- (setq p4 (list x4 y4))
- (tuceng "结洞口实" 7 "continuous")
- (command "line" p1 p4 p3 "")
- (command "solid" p1 p2 p4 p3 "")
- (setvar "cmdecho" v1)
- (setvar "blipmode" v2)
- (setvar "CLAYER" v3)
- (setvar "osmode" v4)
- ;(command "layer" s "0" "")
- )
- (defun tuceng(name color ltype)
- (command "layer" "m" name "c" color name "l" ltype name "")
- )
第二版源码:
第二版直接可用的下载地址:http://s.yunio.com/S_F0lC
2013/03/13
今天在大神的指导下解决了插件冲突的问题,然后顺便优化了一下这个画洞口的小插件,
当然也要感谢springwillow的指导。
现在放出这个插件的V2.1.0版。
在最新版的源码上邪恶地收了一个明经币,因为实在买不起别人的东西啊。。
不过前面几版的源码还是免费分享。
V2.1.0直接可用的打包:
V2.1.0源码:
网友答:
sharon21 发表于 2023-10-20 16:44
很好的东西,感谢楼主的无私奉献
下载后稍作修改可以实现我想要的功能,点选封闭空间,自动画门洞折线并 ...

- (defun c:tt ()
- "画门洞折线"
- (defun mimx (s1 / p1 p9)
- (vla-getboundingbox (vlax-ename->vla-object s1) 'p1 'p9)
- (list (vlax-safearray->list p1) (vlax-safearray->list p9))
- )
- (setvar "osmode" 0)
- (command "-layer" "m" "门洞折线" "c" 4 "" "")
- (while (setq p0 (getpoint "\n点选封闭空间<退出>: "))
- (bpoly p0)
- (setq s1 (entlast)
- ptn (mimx s1)
- p1 (car ptn)
- p9 (cadr ptn)
- p3 (list (car p9) (cadr p1))
- p7 (list (car p1) (cadr p9))
- p7a (polar p7 (* pi 1.75) (* (distance p7 p3) 0.075))
- )
- (entdel s1)
- (command "pline" p1 p7a p9 "")
- )
- (princ)
- )
网友答: 很好的东西,感谢楼主的无私奉献
下载后稍作修改可以实现我想要的功能,点选封闭空间,自动画门洞折线并将其归到图层内,本人想把源码精简下,能实现这个功能就行,无奈看不懂,楼主能否帮忙精简下,把不必要的删了,谢谢
网友答: 找的就是这个,好东西。谢谢!网友答: 正在找,下来看看。是源码吗?网友答:
wjl1014 发表于 2013-3-6 14:01
正在找,下来看看。是源码吗?
不是源码,,下载用用看先把,,源码没几行网友答: 希望谢谢楼主,开源共享,网友答:
tianyi1230 发表于 2013-3-6 16:49
希望谢谢楼主,开源共享,
哈哈,已公开网友答: 更新了画洞口插件的V2.1.0版,感谢springwillow的指导。沿用了你的思路,更改了其中的错误。邪恶地赚点币,因为实在买不起别人的东西哈。。。忘见谅。。网友答:
张和平 发表于 2013-3-13 14:31
更新了画洞口插件的V2.1.0版,感谢springwillow的指导。沿用了你的思路,更改了其中的错误。邪恶地赚点币, ...
什么时候增加一个圆开孔口网友答: 给个图啊 是画什么洞口?网友答:
朽木大师 发表于 2013-4-18 16:01
什么时候增加一个圆开孔口
最近有点忙,所以没有时间更新, 不过这个小插件还是有更新的计划的。你不妨提供一下你需要的圆孔的样式,我可以考虑加进去。不过要有耐心等啊。。网友答:
张和平 发表于 2013-4-18 20:21
最近有点忙,所以没有时间更新, 不过这个小插件还是有更新的计划的。你不妨提供一下你需要的圆孔的样式, ...
圆孔同方孔差不多,还可以增加一个选圆变孔,选矩形变孔