eldon 发表于 2022-7-6 02:08:41

 
我喜欢你的论点,但对于我们其他非纯粹主义者来说,我们将不得不处理“爆炸”,这似乎是OP想要做的,无论你觉得它多么低效

David Bethel 发表于 2022-7-6 02:13:03

太酷了

XIJIANGWOO 发表于 2022-7-6 02:14:03

我试图做的是在不需要用户输入或选择的情况下运行lisp。图形中的所有内容都会分解,但由于线实际上无法分解,linexp模拟了一个分解,这为我提供了我正在寻找的缝合模式。
 
我有金属板墙盒的平面图案模板。我有一个缝合线类型,代表弯曲所需的针迹。我必须将平面图案拉伸到所有不同的长度和宽度。使用线型可以拉伸并保持缝合图案,而不是拉伸然后手动将线型放回。

XIJIANGWOO 发表于 2022-7-6 02:19:07

大卫,
 
你知道我如何修改lisp来自动“转换线条”,而不需要用户选择吗?

BIGAL 发表于 2022-7-6 02:19:37

我很困惑,你不能“分解”一条虚线,但你可以用多个线段来代替它,让它看起来像一条直线。
 
这是一个弧线和弦,但几乎在那里,你需要做每一个第二行,所以需要一个跳过添加到它
 
; converts an arc to a series of straights
; Alan H 2011
(defun c:test (/ oldecho obj div endpt totlen arclen chrdpt dist newpt)
(vl-load-com)
(setq oldecho (getvar "cmdecho"))
(setvar "cmdecho" 0)   
(setq ent (entsel "\nPick arc: ")
    obj (vlax-ename->vla-object (car ent))
    div (getint "\nEnter number of chords: ")
    endpt (vlax-curve-getEndPoint obj)
    totlen (vlax-curve-getDistAtPoint obj endpt)
    arclen (/ totlen div)
    chrdpt (vlax-curve-getPointAtDist obj 0)
    dist 0
    )
(repeat div
(setq newpt(vlax-curve-getPointatDist obj (+ arclen dist)))
(command "line" chrdpt newpt "")
(setq dist (+ arclen dist))
(setq chrdpt newpt)
);repeat
(setvar "cmdecho" oldecho)
(princ)
);defun

XIJIANGWOO 发表于 2022-7-6 02:24:29

我不知道如何在lisp中修改代码。修改linexp lisp以选择所有行,而不是让用户选择每一行,这会更容易吗?

David Bethel 发表于 2022-7-6 02:26:36

尝试替换此行代码:
 

         SS       (ssget);FLTR)

 
使用这行代码:

         SS       (ssget "X" '((0 . "LINE")));FLTR)

 
-大卫

XIJIANGWOO 发表于 2022-7-6 02:30:27

谢谢你,大卫!几天来,我一直在努力找出我需要在LISP中修改的地方,结果发现只有一行字符需要修改。我感谢你的所有努力。
 
谢谢大家!

luiscarneirorm 发表于 2022-7-6 02:32:35

嗨,有人能帮我吗?
 
我一直在研究这个问题,试图解决我的问题,但没有找到任何解决方案
 
我的目标是分解一些线型(虚线,虚线,…)到简单的线条。
 
我已经手动完成了,但我在这方面浪费了太多时间
 
原始行位于“before\u explode”文件中,处理过的文件是“after\u explode”。。。
 
提前安装储罐。
在爆炸之前。dxf
爆炸后。dxf

alanjt 发表于 2022-7-6 02:37:23

您可以复制TextExplode Express工具(txtexp.lsp)文件,将(0。“LINE”)添加到选择过滤器中,它将根据您的需要工作。
 
由于这是受版权保护的材料,我不会为你编辑或张贴。
页: 1 [2]
查看完整版本: 修改“LinExp”lisp