通过以下方式获取圆角半径:
大家好。我有麻烦了。我在寻找解决我这么多天来的一个问题的方法。我有两个面,它们通过fillet命令连接。现在我想找出边上圆角的半径。我正在看模特的照片。谁来帮帮我。你好,索纳利,
对于三维实体,这里有一些东西可以尝试。您必须选择内部圆角边。(在此中检查时没有错误…)
(defun C:cirr (/ edge1 rad1)
(setvar "cmdecho" 0)
(princ "\nSelect Cylinder or Fillet Edge: ")
(command "._solidedit" "_edge" "_copy" pause "" "0,0,0" "0,0,0" "" "")
(setq edge1 (entget (entlast)))
(setq rad1 (cdr (assoc 40 edge1)))
(alert (strcat " Radius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2))))
(princ (strcat "\nRadius = " (rtos rad1) "\nDiameter = " (rtos (* rad1 2))))
(command "._erase" "L" "")
(princ)
) 非常感谢。。感谢您的友好回应。。。。。
它显示以下错误:
忽略从实体面选择等值线。
选项关键字无效。
; 错误:功能已取消
此外,我的要求是只单击平面,并获得圆角的半径,即保存在中。csv文件。请帮帮我,,,,,,,, 对不起,在这种情况下,我发布的内容将不起作用。如果您已经开始编写一些代码,请继续发布,看看是否有人可以提供帮助。 谢谢你的回复。
根据你的逻辑,如果我点击圆角,它也会显示错误。如果可以解决这个问题,请尝试修改之前提供的代码。
我尝试了一些代码,但我对Autolisp是新手,这使我很难继续前进。所以,任何人都可以帮助我,请帮助我。。。。。。 我发布的代码通过询问圆角(或圆柱体)边来处理3DSolids,因此如果您正在拾取圆角本身,或者如果您的几何体不是3DSolid,那么它将不起作用。
您需要拾取边缘,如下所示:
你好,索纳利,
三维实体在AutoCAD中是加密对象,不容易访问子对象。。。
一种方法是,使用“solidedit”命令与BTK共享。
其他,从实体创建一个副本,分解,遍历所有对象以获得所需的属性,然后删除分解的对象。。。
但是,只要知道一个物体的半径,也许像这样的东西就可以了
(defun c:demo ( / osm pt1 pt2)
(setq osm (getvar 'OSMODE))
(setvar 'OSMODE 512)
(if (and (setq pt1 (getpoint "\n Select an object to inquire radius: "))
(setq pt2 (osnap pt1 "CEN"))
)
(princ (strcat "\nObject radius is " (rtos (distance pt1 pt2))))
(princ "\n Selected object don't have radius...")
)
(setvar 'OSMODE osm)
(princ)
)
希望有帮助
亨里克
页:
[1]