明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4255|回复: 2

[求助]如何使用VBA实现CAD中的“region-面域”和“intersect-交集”命令?

[复制链接]
发表于 2007-9-7 03:48:00 | 显示全部楼层 |阅读模式

做好了一个封闭的函数曲线,如何将其转化为region?

另外,怎么才能实现CAD里面的intersect等命令。

因为我的函数方程比较复杂,在直接调用CAD中的命令时,计算量太大,所以期望用vba来实现。多谢!

发表于 2007-9-7 08:29:00 | 显示全部楼层
<pre class="prog_in">Sub Ch4_CreateRegion()</pre><pre class="prog_in">    ' 定义保存面域边界</pre><pre class="prog_in">    ' 的数组。</pre><pre class="prog_in">    Dim curves(0 To 0) As AcadCircle</pre><pre class="prog_in"></pre><pre class="prog_in">    ' 创建圆,用作</pre><pre class="prog_in">    ' 面域的边界。</pre><pre class="prog_in">    Dim center(0 To 2) As Double</pre><pre class="prog_in">    Dim radius As Double</pre><pre class="prog_in">    center(0) = 2</pre><pre class="prog_in">    center(1) = 2</pre><pre class="prog_in">    center(2) = 0</pre><pre class="prog_in">    radius = 5#</pre><pre class="prog_in">    Set curves(0) = ThisDrawing.ModelSpace.AddCircle _</pre><pre class="prog_in">                    (center, radius)</pre><pre class="prog_in"></pre><pre class="prog_in">    ' 创建面域</pre><pre class="prog_in">    Dim regionObj As Variant</pre><pre class="prog_in">    regionObj = ThisDrawing.ModelSpace.AddRegion(curves)</pre><pre class="prog_in"></pre><pre class="prog_in">    ZoomAll</pre><pre class="prog_in_end">End Sub</pre>
 楼主| 发表于 2007-9-7 10:14:00 | 显示全部楼层

谢谢!

按照您的意思,“ModelSpace.Addregion()”是面域的命令。如果我想画出两个圆交叉后形成的封闭曲线轮廓,即两个曲面的交集,如何实现?

在CAD里,这个命令是Modify-Solids Editing-Intersect。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 05:17 , Processed in 0.183352 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表