多边形的创建功能
是否有人试图创建一个命令,根据点的坐标和弯曲半径绘制多段线?这意味着该命令绘制了一条多段线,例如,在附件中,参数是标记在黄色和拱门直径上的点(例如),或者也可以有一条闭合多段线。我读过关于根据“凸出”计算半径的方法。我不知道该怎么开始-半径应该算什么?
如果您能提供任何帮助或意见,我将不胜感激。
好的,如果您设置了所有维度,那么需要正确的维度数组才能获得正确的点数组-未来的顶点,对于圆弧段,我建议您使用fillet命令-还需要正确的选定维度数组。。。但总的来说,我会手动绘制pline,速度比从sel获取正确数组的速度要快。设置。。。 如果Rs等于Pline,我们可以输入Pline(附加),然后使用fillit命令
(setq obj (entlast))
(command "fillet" "P" "r" 30 obj)
Entmake Min代码CAB。LSP 试试这个
(defun c:test ()
(entmake '((0 . "LWPOLYLINE")
(100 . "AcDbEntity")
(8 . "0")
(100 . "AcDbPolyline")
(90 . ;Number of vertices
(10 176.0636632716071 279.6390112374238); 10 =Vertex coordinates (in OCS), multiple entries; one entry for each vertex
(10 346.0636632716071 279.6390112374238)
(42 . 0.414213562373095); 42=Bulge (multiple entries; one entry for each vertex) (optional; default = 0)
(10 376.0636632716071 309.6390112374238)
(10 376.0636632716071 449.6390112374237)
(42 . -0.414213562373095)
(10 406.0636632716071 479.6390112374238)
(10 568.0354241512509 479.6390112374238)
(42 . 0.131490546050545)
(10 583.0188770098191 483.6487026506627)
(10 821.2389076067196 620.9829165365836)
(70 . 0);Polyline flag (bit-coded); default is 0: 1 = Closed;
)
)
(princ)
)
HTH
m、 巴德兰 上述点列表的微小变化可能来自其他地方execl等。
(defun make_sq ()
(setq vertexList (list
(list -3.25 -3.25 0.)
(list 3.25 -3.25 0.)
(list 3.25 3.25 0.)
(list -3.25 3.25 0.)
))
(entmakex
(append
(list '(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length vertexList))
(cons 70 1); 1 closed : 0 open
(cons 8 "0")
(cons 38 0.0)
(cons 210 (list 0.0 0.0 1.0))
)
(mapcar '(lambda (pt) (cons 10 pt)) vertexList)
)
)
)
页:
[1]