4o4osan 发表于 2022-7-5 20:12:37

更改曲面生成设置

大家好,
 
我试图访问三角网曲面构建设置,更具体地说,是定义构建选项“使用最大角度”和“使用最大三角形长度”。当我将曲面列为vla对象时,我看不到可用的属性,这意味着vlax put属性将不起作用。
有没有其他地方或方法可以达到它并将其更改为是或否/对或错?
到目前为止,我一直在尝试lisp,但我对任何其他解决方案都持开放态度。
 
我们正在使用一些额外的定制程序来连接曲面,需要禁用该选项。

Hippe013 发表于 2022-7-5 20:17:29

这是一个好问题!
 
我找到了“使用最大三角形长度”的位置,但在“使用最大角度”上运气不太好。为了找到这些,你必须深入研究应用程序。我使用以下代码获得“使用最大三角形长度”。我正在使用Civil 3D 2014。
 
我希望这至少能让你看到正确的方向。
 
当做
 
hippe013
 
 
 
让surf obj成为您的AeccDbSurfaceTin
 
从那里,我们可以使用以下工具获得Civil 3D应用程序:
 
(setq app (vlax-get-property surf-obj 'Application))
 
接下来,我们需要获取活动文档:
 
(setq ad (vlax-get-property app 'ActiveDocument))
 
从那里我们可以得到设置:
 
(setq settings (vlax-get-property ad 'Settings))
 
然后,曲面命令设置:
 
(setq surfcomset (vlax-get-property settings 'SurfaceCommandsSettings))
 
然后,创建曲面设置:
 
(setq createsurfset (vlax-get-property surfcomset 'CreateSurfaceSettings))
 
然后,我们最终到达构建选项设置:
 
(setq buildoptionset (vlax-get-property createsurfset 'BuildOptionsSettings))
 
其中,我们发现使用最大三角形长度是一个布尔属性:
 
(setq UseMaxTriLen (vlax-get-property buildoptionset 'UseMaxTriangleLen))
 
我们可以使用:vlax true或:vlax false将其值设置为true或false
 
(vlax-put-property UseMaxTriLen 'value :vlax-true)

4o4osan 发表于 2022-7-5 20:23:24

为了重播,我做了很多准备,
 
我不知道这个场景隐藏得这么深。
我现在唯一想知道的是,如果有这么多层次,如何使我的表达适用于所选择的表面。

Hippe013 发表于 2022-7-5 20:25:38

我不太清楚你在问什么。我必须查看您的代码,才能知道您需要在代码中的何处插入上述代码。
 
尽管我想得越多。可能需要在构建曲面之前设置布尔属性。
 
如果是这种情况,那么您需要另一种方式来访问应用程序界面,因为此时表面不存在。
 
以下代码用于访问Civil 3D 2013中的应用程序界面
(setq *acad* (vlax-get-acad-object))
(setq app (vlax-invoke-method *acad* 'GetInterfaceobject "AeccXUiLand.AeccApplication.10.0"))
 
如果使用Civil 3D 2014,请使用“AeccXUiLand.AeccApplication.10.3”
如果使用Civil 3D 2015,请使用“AeccXUiLand.AeccApplication.10.4”
 
我希望这不会增加混乱。让我知道你有什么想法。
 
当做
 
Hippe013

4o4osan 发表于 2022-7-5 20:29:43

当我在firs帖子上看到你的发现时,我实际上意识到这不是我想要的。
 
我需要调整现有曲面的构建设置。
 
您找到的设置实际上仅适用于新曲面创建。

marko_ribar 发表于 2022-7-5 20:31:31

您是否尝试过:
 

(dumpallproperties (car (entsel)))

 
如果输出中列出了您的属性,请尝试:
(getpropertyvalue)和(setpropertyvalue)在本文中描述
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/label-3d-solid-pipe/td-p/3438177
 
HTH公司

4o4osan 发表于 2022-7-5 20:34:33

你好,marko_ribar,
 
不幸的是,(dumpallproperties(car(entsel)))后面没有列出任何设置-我正在选择随机曲面。

Hippe013 发表于 2022-7-5 20:38:55

 
我不相信这个布尔值特定于创建的每个曲面。我相信,这个布尔值不仅控制曲面的构建方式,还控制曲面的重建方式。我必须测试一下才能确定。我不相信有这样的布尔值是特定于每个曲面的构建方式的。
 
这有意义吗?
 
当做
 
hippe013

4o4osan 发表于 2022-7-5 20:42:46

Hi Hippe013,
 
我的想法和你一样,但即使我从菜单中手动更改构建设置并重建曲面,UseMaxTriLen也不会改变。那血腥的价值保持不变。

Hippe013 发表于 2022-7-5 20:47:03

嗯???
 
可能需要深入了解一下。
页: [1] 2
查看完整版本: 更改曲面生成设置