再见熊猫衣服 发表于 2018-12-13 10:20:14

[编程申请] 单线变双线,谢谢了

本帖最后由 再见熊猫衣服 于 2022-4-30 16:35 编辑


我们画柜子内部结构的时候,每次需要把中间的"离缝",换成“隔板”。
操作过程:把离缝,左边偏移9毫米,右边偏移9毫米,再把中间的离缝线删除。
希望插件达到的功能:快捷键EE,确定,点击离缝线,(请输入隔板厚度,默认18毫米),确定。
自动生成2根线的隔板,并删除原离缝线。思路:
1,ml双线绘制,然后再执行x打散?
2,直接偏移,再删除?

ssyfeng 发表于 2018-12-13 10:20:15

本帖最后由 ssyfeng 于 2018-12-27 13:11 编辑

应该是复制时格式不对,我还是上传文件吧



再见熊猫衣服 发表于 2018-12-13 13:37:59

@Gu_xl
帮帮忙,G大版主。。谢谢你了

1784290342 发表于 2018-12-15 15:57:40

帮你写了一个
(defun c:EE (/)
(if(setq dis (getreal "\n 请输入偏移距离(默认18.0):"))
    (princ)
    (setq dis 18.0)
)
(setq ent (entsel "\n 选择直线:"))
(setq el (entget (car ent)))
(setq pt1 (cdr (assoc 10 el)))
(setq pt2 (cdr (assoc 11 el)))
(setq ang (angle pt1 pt2))
(setq p1 (polar pt1 (+ ang (/ pi 2)) (/ dis 2)))
(setq p2 (polar pt2 (+ ang (/ pi 2)) (/ dis 2)))
(command "line" p1 p2 "")
(setq p1 (polar pt1 (- ang (/ pi 2)) (/ dis 2)))
(setq p2 (polar pt2 (- ang (/ pi 2)) (/ dis 2)))
(command "line" p1 p2 "")
(command "erase" ent "")
(princ)
)

1784290342 发表于 2018-12-15 16:00:05

你还整俩帖子:L,

再见熊猫衣服 发表于 2018-12-15 16:36:41

本帖最后由 再见熊猫衣服 于 2018-12-15 17:00 编辑

1784290342 发表于 2018-12-15 15:57
帮你写了一个
(defun c:EE (/)
(if(setq dis (getreal "\n 请输入偏移距离(默认18.0):"))

你的这个代码,比另外那个人写的,要短很多。经过测试,可以使用,但是,有严重BUG。
1,高概率BUG,发生概率为80%以上:
在画面缩小的情况下,无法正常达到效果。
见下图

正常情况下,应该是像下面这张图,

但是,实际结果却是下面这张图,

它无法正常达到结果,变成了原地的2跟直线。
近一点就没问题。
2,整个程序,少了一个环节,它不能记住上一次手动输入的距离。
能否更新一下呢?谢谢了

再见熊猫衣服 发表于 2018-12-15 17:02:02

有时候又是这样的:

再见熊猫衣服 发表于 2018-12-15 17:04:17

在反馈一个问题:
3,该程序无法实现多选、框选,仅支持点选某一根直线。
————

再见熊猫衣服 发表于 2018-12-15 17:14:25

再反馈一个问题,
它无法多选、框选对象。仅仅支持点选某一根直线。这点不太好用,希望更新。

1784290342 发表于 2018-12-15 17:33:50

关闭捕捉试一下
页: [1] 2
查看完整版本: [编程申请] 单线变双线,谢谢了