a189233 发表于 2022-9-14 18:01:58

求助,我想边画pline线的时候,同时偏移,方向自定,不知道怎么操作,

我想边画pline线的时候,同时偏移,方向自定,只是保留偏移后的pline线,,原始pline删除。不知道怎么操作,求助大神们

自贡黄明儒 发表于 2022-9-14 18:28:53

用Mline吧               

start4444 发表于 2022-9-14 18:46:39

(defun c:ttt(/ dis e p1 p2)
(vl-cmdf "pline"(setq p1(getpoint"\n直线起点")))
        (while (setq p2(getpoint p1"\n直线端点")) (command p2) (setq p1 p2) )
(command "")
(setq e(entlast))
(if *dis*
    (setq dis (getdist (strcat"\n输入偏移距离<" (rtos *dis* 2 2)">")))
    (setq dis (getdist (strcat"\n输入偏移距离<" ">")))
        )
(if dis (setq *dis* dis)(setqdis *dis*))
(setq p1(getpoint"\n偏移方向"))
        (if p1(vl-cmdf "offset" dis e p1 ""))
(entdel e)
(princ)
)

sunny_8848 发表于 2022-9-15 07:53:07

挺好用的。请教下,可以做到输入-1向左偏移输入1向右偏移吗

llsheng_73 发表于 2022-9-15 11:47:11

sunny_8848 发表于 2022-9-15 07:53
挺好用的。请教下,可以做到输入-1向左偏移输入1向右偏移吗

正值往前进方向右偏,负值往前进方向左偏
(DEFUN c:tt(/ a e dis )
(setq e(entlast))
(command"pline")
(while(=(getvar'cmdactive)1)(command pause))
(or(equal(setq a(entlast))e)
   (progn
       (setq dis (getdist (strcat"\nêäèëÆ«òƾààë<"(if *dis*(rtos *dis* 2 2)"")">")))
       (if dis (setq *dis* dis)(setqdis *dis*))
       (vlax-invoke-method(vlax-ename->vla-object a)'offset dis)
       (entdel a))))

a189233 发表于 2022-9-15 14:42:06

start4444 发表于 2022-9-14 18:46
(defun c:ttt(/ dis e p1 p2)
(vl-cmdf "pline"(setq p1(getpoint"\n直线起点")))
        (while (setq p2(ge ...

厉害了,版主厉害了

e2002 发表于 2022-9-16 11:13:55

这个需求希望能在Pline命令中核心实现,习惯了revit 的对这个会很舒服...
页: [1]
查看完整版本: 求助,我想边画pline线的时候,同时偏移,方向自定,不知道怎么操作,