张和平 发表于 2013-3-6 12:21:07

画洞口【更新至V3.4.0】

本帖最后由 张和平 于 2013-7-14 15:56 编辑

======更新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:55

很好的东西,感谢楼主的无私奉献

下载后稍作修改可以实现我想要的功能,点选封闭空间,自动画门洞折线并将其归到图层内,本人想把源码精简下,能实现这个功能就行,无奈看不懂,楼主能否帮忙精简下,把不必要的删了,谢谢

yaya-54 发表于 2019-8-19 14:55:41

找的就是这个,好东西。谢谢!

依然小小鸟 发表于 2018-10-13 22:44:10

不错的帖子

wjl1014 发表于 2013-3-6 14:01:00

正在找,下来看看。是源码吗?

张和平 发表于 2013-3-6 14:59:25

wjl1014 发表于 2013-3-6 14:01 static/image/common/back.gif
正在找,下来看看。是源码吗?

不是源码,,下载用用看先把,,源码没几行

tianyi1230 发表于 2013-3-6 16:49:13

希望谢谢楼主,开源共享,

张和平 发表于 2013-3-6 17:00:07

tianyi1230 发表于 2013-3-6 16:49 static/image/common/back.gif
希望谢谢楼主,开源共享,

哈哈,已公开

张和平 发表于 2013-3-13 14:31:20

更新了画洞口插件的V2.1.0版,感谢springwillow的指导。沿用了你的思路,更改了其中的错误。邪恶地赚点币,因为实在买不起别人的东西哈。。。忘见谅。。

朽木大师 发表于 2013-4-18 16:01:07

张和平 发表于 2013-3-13 14:31 static/image/common/back.gif
更新了画洞口插件的V2.1.0版,感谢springwillow的指导。沿用了你的思路,更改了其中的错误。邪恶地赚点币, ...

什么时候增加一个圆开孔口

spp_wall 发表于 2013-4-18 16:14:44

给个图啊是画什么洞口?

张和平 发表于 2013-4-18 20:21:31

朽木大师 发表于 2013-4-18 16:01 static/image/common/back.gif
什么时候增加一个圆开孔口

最近有点忙,所以没有时间更新, 不过这个小插件还是有更新的计划的。你不妨提供一下你需要的圆孔的样式,我可以考虑加进去。不过要有耐心等啊。。

朽木大师 发表于 2013-4-19 17:03:42

张和平 发表于 2013-4-18 20:21 static/image/common/back.gif
最近有点忙,所以没有时间更新, 不过这个小插件还是有更新的计划的。你不妨提供一下你需要的圆孔的样式, ...

圆孔同方孔差不多,还可以增加一个选圆变孔,选矩形变孔
页: [1] 2 3 4 5 6
查看完整版本: 画洞口【更新至V3.4.0】