绘制箭头
大家好,我有一个Lisp程序的箭头。我发现这是
麻烦,因为我需要点击头部和尾部
箭头的形状。
有没有简单的方法只需点击
线和形成箭头瞬间;按修改
单击lisp或单击新的lisp。
谢谢
箭lsp
箭图纸 有没有理由不想为此使用QLEADER,其中包括箭头的定义?
这样,您只需指定箭头尖端的位置,然后定义所需位置
线路的另一端。为什么使用lisp?
任何箭头都将定义某种类型的向量,因此我希望必须指定第二个点来建立旋转,至少,如果不是长度的话。 你好,爸爸。。。。。谢谢你的回复
但是,我的问题是。。。。我有数千条管道
需要绘制重力流方向。因此
这个案子我需要Lisp程序。
谢谢 好吧,很公平。
也许你会发现李的标签lisp是有帮助的。
http://www.lee-mac.com/label.html
由于你画的箭头是多段线,在李的帮助下,看起来你会没事的。
对于那些不熟悉李网站的人来说,看看吧,这里绝对是一座金矿
李非常慷慨地向所有人提供了伟大的Lisp程序。
谢谢李! 试试这个。。。。。
(defun c:LWarrow (/ p1 p2)
;;; Tharwat 30. Jan. 2013 ;;;
(if (and (setq p1 (getpoint "\n Specify first point :"))
(setq p2 (getpoint "\n Specify next point :" p1))
)
(entmakex (list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
'(90 . 3)
'(70 . 0)
(cons 10 p1)
'(40 . 0.)
(cons 41 (/ (distance p1 p2) 4.2))
'(42 . 0.)
(cons 10 (polar p1 (angle p1 p2) (/ (distance p1 p2) 3.)))
'(40 . 0.)
'(41 . 0.)
'(42 . 0.)
(cons 10 p2)
(cons 40 0.)
(cons 41 (/ (distance p1 p2) 4.2))
'(42 . 0.)
)
)
)
(princ)
)
或者,也可以将所述箭头创建为块,并按您的例程插入;这样做的好处是,如果需要,可以立即修改样式(大小、形状)。
同意。 这是一个唇的开始,它将圆添加到线的末端需要两条额外的线来获得线角度,使用Assoc 11作为其他端点,只需将命令从“圆”更改为在端点pt处插入一个带有旋转和缩放的块。唯一的错误是将绘制箭头的方向线绘制进去。学习lisp的好时机?
; add a circle to end of lines for import into the DRAINS software
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(command "layer" "n" "PITS" "Color" 1 "PITS" "s" "PITS" "")
(setq ent (car (entsel "\nSelect drain layer: ")))
(setq l_name (cdr (assoc 8 (entget ent))))
(setq listlines (ssget "X" (list (cons 0 "line")(cons 8 l_name))))
(setq listlinesno (sslength listlines))
(setq y 0)
(repeat listlinesno
(setq pt1 (cdr (assoc 10 (entget (ssname listlines y))))) ; add pt2 here assoc 11 and angle pt1 pt2
(command "circle" pt1 1.0) ; change this to be insert arrowblock
(setq y (+ y 1))
) ;end repeat listlineno
(setvar "osmode" oldsnap)
您好:)
哦,是的。。。。我搜索上一个线程
终于得到了我想要的箭头
只需单击行的末尾。
唯一的挫折是有时它看起来很小。。。。
lisp能否指示用户输入或更改比例。
有人请分享
谢谢你,伙计。。。。
啊。lsp 箭头的大小由SC变量控制-您可以向其添加比例因子:
(setq SC (* 1.5 (getvar "dimscale")))
...
(setq PT2 (polar EPT ANG1 (* SC 0.20)))
;set arrowhead length, based on current dimscale
(setq PW (* SC 0.08)) ;set arrowhead width
页:
[1]
2