求教CAD平键的三维 自己写了一些代码但是面域的出现问题了Dim objlist(4) As AcadEntity
Dim my As AcadRegion
Dim centerPoint1(0 To 2) As Double
Dim centerPoint2(0 To 2) As Double
Dim radius As Double
Dim startAngleInDegree1 As Double
Dim endAngleInDegree1 As Double
Dim startAngleInDegree2 As Double
Dim endAngleInDegree2 As Double
' Define the circle
centerPoint1(0) = 0: centerPoint1(1) = 0: centerPoint1(2) = 0
centerPoint2(0) = 100: centerPoint2(1) = 0: centerPoint2(2) = 0 '右半个圆心随标准定
radius = 5
startAngleInDegree1 = 90
endAngleInDegree1 = 270
startAngleInDegree2 = 270
endAngleInDegree2 = 450 Dim pt1(0 To 2) As Double
Dim pt2(0 To 2) As Double
Dim pt3(0 To 2) As Double
Dim pt4(0 To 2) As Double
pt1(0) = 0: pt1(1) = 5: pt1(2) = 0
pt2(0) = 100: pt2(1) = 5: pt2(2) = 0
pt3(0) = 0: pt3(1) = -5: pt3(2) = 0
pt4(0) = 100: pt4(1) = -5: pt4(2) = 0
' Convert the angles in degrees to angles in radians
Dim startAngleInRadian1 As Double
Dim endAngleInRadian1 As Double
Dim startAngleInRadian2 As Double
Dim endAngleInRadian2 As Double
startAngleInRadian1 = startAngleInDegree1 * 3.141592653 / 180
endAngleInRadian1 = endAngleInDegree1 * 3.141592653 / 180
startAngleInRadian2 = startAngleInDegree2 * 3.141592653 / 180
endAngleInRadian2 = endAngleInDegree2 * 3.141592653 / 180
' Create the arc object in model space
Set objlist(0) = ThisDrawing.ModelSpace.AddArc(centerPoint1, radius, startAngleInRadian1, endAngleInRadian1)
Set objlist(1) = ThisDrawing.ModelSpace.AddArc(centerPoint2, radius, startAngleInRadian2, endAngleInRadian2)
Set objlist(2) = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
Set objlist(3) = ThisDrawing.ModelSpace.AddLine(pt3, pt4)
Set my = ThisDrawing.ModelSpace.AddRegion(objlist)
ZoomAll
Dim my As AcadRegion
Dim centerPoint1(0 To 2) As Double
Dim centerPoint2(0 To 2) As Double
Dim radius As Double
Dim startAngleInDegree1 As Double
Dim endAngleInDegree1 As Double
Dim startAngleInDegree2 As Double
Dim endAngleInDegree2 As Double
' Define the circle
centerPoint1(0) = 0: centerPoint1(1) = 0: centerPoint1(2) = 0
centerPoint2(0) = 100: centerPoint2(1) = 0: centerPoint2(2) = 0 '右半个圆心随标准定
radius = 5
startAngleInDegree1 = 90
endAngleInDegree1 = 270
startAngleInDegree2 = 270
endAngleInDegree2 = 450 Dim pt1(0 To 2) As Double
Dim pt2(0 To 2) As Double
Dim pt3(0 To 2) As Double
Dim pt4(0 To 2) As Double
pt1(0) = 0: pt1(1) = 5: pt1(2) = 0
pt2(0) = 100: pt2(1) = 5: pt2(2) = 0
pt3(0) = 0: pt3(1) = -5: pt3(2) = 0
pt4(0) = 100: pt4(1) = -5: pt4(2) = 0
' Convert the angles in degrees to angles in radians
Dim startAngleInRadian1 As Double
Dim endAngleInRadian1 As Double
Dim startAngleInRadian2 As Double
Dim endAngleInRadian2 As Double
startAngleInRadian1 = startAngleInDegree1 * 3.141592653 / 180
endAngleInRadian1 = endAngleInDegree1 * 3.141592653 / 180
startAngleInRadian2 = startAngleInDegree2 * 3.141592653 / 180
endAngleInRadian2 = endAngleInDegree2 * 3.141592653 / 180
' Create the arc object in model space
Set objlist(0) = ThisDrawing.ModelSpace.AddArc(centerPoint1, radius, startAngleInRadian1, endAngleInRadian1)
Set objlist(1) = ThisDrawing.ModelSpace.AddArc(centerPoint2, radius, startAngleInRadian2, endAngleInRadian2)
Set objlist(2) = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
Set objlist(3) = ThisDrawing.ModelSpace.AddLine(pt3, pt4)
Set my = ThisDrawing.ModelSpace.AddRegion(objlist)
ZoomAll
解决方案 »
- 怎样用vb读取本机名
- 问题就是,怎么把VB里的文本内容录入到sql里的bit型数据中
- 怎样实现这样的需要???
- 如何捕获MSHFlexGrid的列宽改变事件?
- 怎样在VB中调用VC中的DLL,主要是字符串的返回问题?
- VB里有这样的控件吗
- 请问哪里可以看到比较详细的VB操作数据库的步骤呢?
- 招聘 vb程序员2人
- 请问哪里有visual stiodus .net 下载的?
- 请问我想将一个用vb6.0做的程序放到启动项目下,但又不想让用户能在msconfig的启动下看出来,怎么办?
- 怎么在vb中 用richtext 编写阅读器时下次自动打开上次未读完的内容
- VB 编程 使用richtext怎么实现书签功能
Set objlist(0) = ThisDrawing.ModelSpace.AddArc(centerPoint1, radius, startAngleInRadian1, endAngleInRadian1)
Set objlist(1) = ThisDrawing.ModelSpace.AddArc(centerPoint2, radius, startAngleInRadian2, endAngleInRadian2)
Set objlist(2) = ThisDrawing.ModelSpace.AddLine(pt1, pt2)
Set objlist(3) = ThisDrawing.ModelSpace.AddLine(pt3, pt4)如果是这样的话你试试看objlist(3) As AcadEntity
这是凑数了,一定要对封闭曲线有几个Autocadntity比较清楚.比如是5条曲线(直线,弧线,多义线)组成的封闭线,5-1数组为4
碰到这种事最好手动看是否封闭.你们这种方法是瞎猜,费时费力费工夫.
这种事碰的多了,都在这绕弯子.