Hudson 发表于 2022-7-6 12:56:21

我读到我可以#039;t张

我知道当我通过entget访问arc信息时,端点甚至不是信息列表。
 
通过更先进的方法,有没有办法交换起点和终点。。或者autocad是否必须按逆时针方向绘制圆弧?
 
谢谢你的时间!
 
安得烈

Lee Mac 发表于 2022-7-6 13:06:12

隐马尔可夫模型。。好问题。
 
起点/终点是RO,因此不能直接更改,但这是我能做到的最好的方法:
 

(defun swparc (Obj / lst)
(setq lst
   (mapcar
   (function
       (lambda (x)
         (vlax-get-property Obj x))) '(StartAngle EndAngle)))
(mapcar
   (function
   (lambda (x y)
       (vlax-put-property Obj x y))) '(EndAngle StartAngle) lst))

(defun c:test ()
(swparc (vlax-ename->vla-object (car (entsel)))))

Hudson 发表于 2022-7-6 13:07:27

太棒了
 
我今天学到了很多

Lee Mac 发表于 2022-7-6 13:14:24

嗯,这并不完全是你想要的-弧仍然是逆时针的。。。但是正好相反。。。

flowerrobot 发表于 2022-7-6 13:23:25

我不确定这是不是真的,我不能在工作时检查,但是
 
在多段线中,你可以控制方向-我认为
我不确定0.4142356在实体中指的是什么
它既不是半径也不是弧度。
 
顺时针方向的
(cons 42 0.41421356)
逆时针方向
(cons 42-0.41421356)
 
思考的食物

BIGAL 发表于 2022-7-6 13:25:20

这真的没有什么帮助,但是
 
我花了很多时间试图找出圆弧,它们基本上存储为一个中心点、两个角度和一个半径(lee mac上图),试图编写一些代码来做圆弧的事情,但我从来没有真正解决这个问题。我玩象限和各种各样的东西。Autodesk有时会隐藏一些东西,而您只是偶尔会发现。我已经研究了圆弧的dxf输出,但仍然没有更明智的结果。我认为膨胀系数在某处潜入vs-
 
如果你反转起点和终点,你会得到1/4和3/4的弧。
 
这与圆弧和线型相同,不能反转圆弧,只能反转线型(即两种线型)
 
如果只是知道端点的点,那么这就是中心角rad。

Hudson 发表于 2022-7-6 13:33:53

嗯,这不是世界末日,我不能扭转他们。
 
如果起点可以是实际绘图中的任意一端,那么对于我正在处理的任务来说,这将更有逻辑意义。但如果这不可能,那没关系。

Lee Mac 发表于 2022-7-6 13:38:14

 
42是多段线中的凸出部分-等于圆弧所对角度的四分之一的切线。更多信息,请查看vla getbulge。然而,我认为纯弧实体没有这个属性。
 

David Bethel 发表于 2022-7-6 13:44:45

Autocad圆弧始终为逆时针方向。以下是有关arc数据的一些信息。
 
大卫

BIGAL 发表于 2022-7-6 13:49:52

如果你只需要能够选择你想成为起点的终点,那么有一种方法可以绕过它,它非常简单。
 
你在你想要的端点附近拾取弧作为起点,得到两个端点,然后比较从拾取点到端点的距离,然后将较短的距离作为起点等。
 
2
页: [1] 2
查看完整版本: 我读到我可以#039;t张