savannah 发表于 2007-9-7 03:48:00

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

<p>做好了一个封闭的函数曲线,如何将其转化为region?</p><p>另外,怎么才能实现CAD里面的intersect等命令。</p><p>因为我的函数方程比较复杂,在直接调用CAD中的命令时,计算量太大,所以期望用vba来实现。多谢!</p>

wenwengg 发表于 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>

savannah 发表于 2007-9-7 10:14:00

<p>谢谢!</p><p>按照您的意思,“ModelSpace.Addregion()”是面域的命令。如果我想画出两个圆交叉后形成的封闭曲线轮廓,即两个曲面的交集,如何实现?</p><p>在CAD里,这个命令是Modify-Solids Editing-Intersect。</p>
页: [1]
查看完整版本: [求助]如何使用VBA实现CAD中的“region-面域”和“intersect-交集”命令?