bbryson_2000 发表于 2022-7-5 17:59:52

lisp绘制pline

我需要一个lisp例程,将绘制一个定义宽度为1/32英寸的pline。用户给一个起点和终点。
谢谢杰里布

marko_ribar 发表于 2022-7-5 18:20:05

使用PLINEWID sysvar,当设置正确的宽度1/32“时,继续使用标准pline命令绘制pline。。。

Lee Mac 发表于 2022-7-5 18:27:03

(defun c:mypline ( / plw )
   (setq plw (getvar 'plinewid))
   (setvar 'plinewid 0.03125)
   (vl-cmdf "_.pline")
   (while (= 1 (logand 1 (getvar 'cmdactive))) (vl-cmdf "\\"))
   (setvar 'plinewid plw)
   (princ)
)

bbryson_2000 发表于 2022-7-5 18:36:33

很快。。。
非常感谢你。。。
今天晚些时候我会试试这个。
 
 
杰瑞

BIGAL 发表于 2022-7-5 18:50:33

很简单,正如我之前发布的错误捕捉反应器一样,用户会在命令行上键入p132,即pline 1/32宽p18 1/8,因此没有硬编码宽度。注意这个地方。

BIGAL 发表于 2022-7-5 19:06:15

试试看,你需要做P0-03125,宽度为1/32,第二个版本可以做p132
 
;输入文件半径作为命令行输入f100的一部分,偏移量O234,圆c123-45,P123表示pline宽度;注-用于小数点;Alan H的原始代码和方法;Lee Mac提供的帮助和代码;2015年10月((lambda nil(vl load com)(foreach obj(cdar(vlr reactor:vlr command reactor))(if(=“fillet reactor”(vlr data obj))(vlr remove obj))(vlr command reactor“fillet reactor”'(:vlr unknowncommand.fillet reactor callback)))(defun plwid(/width oldwidth)(setq width(distof(substr com 2))(setq oldwidth(getvar'plinewid))(如果(
页: [1]
查看完整版本: lisp绘制pline