wimal 发表于 2022-7-6 06:47:35

查找半径弧

我怎样才能找到弧的半径

gS7 发表于 2022-7-6 06:52:48

简单:
(vla-get-radius object)
另一个
(vlax-get object 'Radius)
 
 
试着倒在物体上,你们可以在这里找到弧半径
 
Command: (vlax-dump-object object)
; IAcadArc: AutoCAD Arc Interface
; Property values:
;   Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
;ArcLength (RO) = 855.845
;   Area (RO) = 99636.1
;   Center = (214569.0 3.13291e+006 0.0)
;   Document (RO) = #<VLA-OBJECT IAcadDocument 01b8ed40>
;   EndAngle = 3.01769
;   EndPoint (RO) = (214143.0 3.13296e+006 0.0)
;   Handle (RO) = "889B24"
;   HasExtensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 1869af04>
;   Layer = "Csl"
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   Material = "ByLayer"
;   Normal = (0.0 0.0 1.0)
;   ObjectID (RO) = 697240288
;   ObjectName (RO) = "AcDbArc"
;   OwnerID (RO) = 698100984
;   PlotStyleName = "Color_6"
; Radius = 429.555
;   StartAngle = 1.02529
;   StartPoint (RO) = (214792.0 3.13328e+006 0.0)
;   Thickness = 0.0
;   TotalAngle (RO) = 1.9924
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 1e98ea60>
;   Visible = -1

wimal 发表于 2022-7-6 06:56:54

(setq ent (ssget))       (setq arc (entlast))    ;object entith
我的代码中有一些错误。
我只想选取一个弧并获得实体名称。
但ssget并没有这样做。在cad绘图上选择圆弧的正确代码是什么。

gS7 发表于 2022-7-6 07:04:38

试试这个Wimal
(setq ss (car (entsel "\nSelect Arc:")))
      (setq ename(vlax-ename->vla-object ss))
      (setq r (vla-get-radius ename))
 
或使用ssget进行单选
 
(setq ss (ssget ":S"))
         (setq ename(vlax-ename->vla-object (ssname ss 0)))
         (setq r (vla-get-radius ename))

Costinbos77 发表于 2022-7-6 07:08:35

Ssget函数创建了许多选择。
使用entsel,只选择一个对象。

gS7 发表于 2022-7-6 07:12:13

谢谢你的提示Costinbos77

wimal 发表于 2022-7-6 07:22:17

谢谢大家。我得到了答案

gS7 发表于 2022-7-6 07:25:40

很乐意帮忙!!

wimal 发表于 2022-7-6 07:33:37

我需要更多的帮助。使用此代码,如果我选择一行;这个计划将会失败。实际上,我想选择两条线和
圆弧,如果对象是圆弧,则获取其半径

LibertyOne 发表于 2022-7-6 07:36:09

您是否考虑过用户可以选择多个弧的可能性?然后程序会返回圆弧的所有半径吗?你怎么知道哪个半径属于哪个弧?
页: [1] 2
查看完整版本: 查找半径弧