Dallas_whu 发表于 2023-10-14 10:26:03

分享自制折断线绘制源码,实现单折断线与双折断线的自动裁剪!

功能:
1、单折断线根据选择的折断线两点的先后顺序不同,自动裁剪折断线左侧或右侧的目标对象;
2、双折断线自动裁剪中部对象;
3、有不需要裁剪的对象如轴线请提前锁定层或冻结层,否则一起裁剪掉了;
4、可设置中部这段符号的大小在合理范围内,程序中设置折断符号的大小范围;
5、可设置折断线的延伸长度;

Dallas_whu 发表于 2023-10-15 08:20:53

muai2010 发表于 2023-10-14 23:41
这个对我这小白就比较复杂了,搞不来,不错很感谢分享好用的程序

(DEFUN MAKE_LAYER (LAYERNAME LAYERLTYPE LAYERCOLOR LTFILENAME / CHK_LAYER)
(VL-LOAD-COM)
(SETQ VLINETYPES (VLA-GET-LINETYPES (VLA-GET-ACTIVEDOCUMENT (VLAX-GET-ACAD-OBJECT))))
(IF (NOT (TBLSEARCH "LTYPE" LAYERLTYPE))
    (VLA-LOAD VLINETYPES LAYERLTYPE LTFILENAME)
)
(SETQ CHK_LAYER (TBLSEARCH "LAYER" LAYERNAME))
(IF (= CHK_LAYER NIL)
    (PROGN
      (ENTMAKE (LIST
               '(0 . "LAYER")
               '(100 . "AcDbSymbolTableRecord")
               '(100 . "AcDbLayerTableRecord")
               (CONS 6 LAYERLTYPE)        ;线型
               (CONS 62 LAYERCOLOR)        ;颜色
               '(70 . 0)                ;图层状态
               (CONS 2 LAYERNAME)        ;图层名
             )
      )
    )
)
(SETVAR "CLAYER" LAYERNAME)
(PRINC)
)

Dallas_whu 发表于 2023-10-15 09:19:40

本帖最后由 Dallas_whu 于 2023-10-15 09:21 编辑

muai2010 发表于 2023-10-15 09:15
尝试失败,这段我放了几个地方,修改了cons后面的不生效把这一行的两个分号去掉

;;            (MAKE_LAYER "折断线" "CONTINUOUS" 6 "acadiso.lin")

Dallas_whu 发表于 2023-10-16 11:50:14

h008 发表于 2023-10-15 23:51
好程序!只是2014里“D”后不能画双剖

没装2014,没法测试:lol,按说不是版本的问题。可能是你没装cad自带的EXPRESS TOOLS原因。你装一个试试

sowin 发表于 2023-10-14 11:30:25

很实用的工具,谢谢分享

muai2010 发表于 2023-10-14 17:53:17

不错,要是可以定义折断线颜色就好了

Dallas_whu 发表于 2023-10-14 23:33:17

muai2010 发表于 2023-10-14 17:53
不错,要是可以定义折断线颜色就好了

可以自己将一个图层放在画线的前面就行,看注释掉的那一行。

muai2010 发表于 2023-10-14 23:41:51

Dallas_whu 发表于 2023-10-14 23:33
可以自己将一个图层放在画线的前面就行,看注释掉的那一行。

这个对我这小白就比较复杂了,搞不来,不错很感谢分享好用的程序

muai2010 发表于 2023-10-15 09:15:30

Dallas_whu 发表于 2023-10-15 08:20


;P尝试失败,这段我放了几个地方,修改了cons后面的不生效

muai2010 发表于 2023-10-15 10:04:33

Dallas_whu 发表于 2023-10-15 09:19
把这一行的两个分号去掉

搞定,效果很好

669423907 发表于 2023-10-15 10:28:16

效果非常好,很适合搞机械的
页: [1] 2
查看完整版本: 分享自制折断线绘制源码,实现单折断线与双折断线的自动裁剪!