明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1826|回复: 5

后天答辩,紧急求助一个关于面域问题...

[复制链接]
发表于 2005-6-18 01:10:00 | 显示全部楼层 |阅读模式
如何将不同类型的曲线(首尾依次相连且封闭)选做一个面域....



例如:直线+圆弧+轻便多义线+直线.


我对圆弧与多义线的衔接点不知道如何下手....



拜求各位老师了.....
发表于 2005-6-18 06:25:00 | 显示全部楼层
首先应了解AddRegin方法中的参数ObjectList。它是对象数组,可以由直线、圆弧、圆、椭圆弧、优化多段线和样条曲线等不同对象组成,也就是说一个边界可以同时由不同类型的对象组成,只要这些对象首尾相连组成封闭区域。
如有3个对象组成封闭区域,分别为直线Line1,圆弧Arc2,优化多段线LWPLine3。则ObjectList这样定义:
  1. Dim ObjectList(2) As AcadEntity
  2. Set ObjectList(0) = Line1
  3. Set ObjectList(1) = Arc2
  4. Set ObjectList(2) = LWPLine3
圆弧的定义AddArc使用的是这样的语法:
AddArc(Center, Radius, StartAngle, EndAngle)
所以一般情况下需要先定义生成圆弧,然后用圆弧的端点属性StartPoint和EndPoint属性再生成其它对象,这样就能保证封闭。
 楼主| 发表于 2005-6-18 07:21:00 | 显示全部楼层
多谢明总...
 楼主| 发表于 2005-6-18 09:22:00 | 显示全部楼层
但是.现在我想用LWPLINE与LINE衔接,发现LWPline的端点属性不可用,"显示不支持该属性或方法"


应当怎么办?
发表于 2005-6-18 22:03:00 | 显示全部楼层
你把Lwpline.explode看看
发表于 2005-6-19 09:31:00 | 显示全部楼层
Sub Example_Addregion()
Dim lines(0 To 1) As AcadEntity

Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double

startPoint(0) = 1: startPoint(1) = 1: startPoint(2) = 0
endPoint(0) = 4: endPoint(1) = 4: endPoint(2) = 0

Set lines(0) = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)

Dim points(0 To 7) As Double

points(0) = 1: points(1) = 1
points(2) = 2: points(3) = 1
points(4) = 3: points(5) = 2
points(6) = 4: points(7) = 4

Set lines(1) = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)

Dim regionObj As Variant
regionObj = ThisDrawing.ModelSpace.AddRegion(lines) End Sub
不知这段程序符合你的意思么,只要保证多义线的起始点与直线的起始点相对应就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 15:47 , Processed in 0.204226 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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