|
我正在尝试在多段线上扫掠轮廓
下面是我的代码,主要是在使用谷歌时找到的
将acDoc作为Document=Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
<div>Dim acCurDb As Database=acDoc.Database</div>
以编辑器的形式显示=acDoc.Editor
使用acLockDoc作为DocumentLock=acDoc.LockDocument()
根据PrompentityResult进行调光
将peo设置为PrompEntityOptions=新的PrompEnttyOptions(vbLf和“选择路径”)
peo。SetRejectMessage(vbLf&“错误实体”)
peo。AddAllowedClass(GetType(曲线),False)
per=acEd.GetEntity(peo)
使用acTrans作为Transaction=acCurDb.TransactionManager.StartTransaction()
试试
Dim pathEnt As Curve=TryCast(acTrans.GetObject(per.ObjectId,OpenMode.ForRead),Curve)
将acBlkTbl作为BlockTable=acTrans.GetObject(acCurDb.BlockTableId,OpenMode.ForWrite)进行Dim
将acBlkTblRec作为BlockTableRecord=acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace),OpenMode.ForWrite)进行Dim
以多段线=新多段线()的形式将扫掠器调暗。
sweepEnt。AddVertexAt(0,新点2d(0,0),0,0,0)
sweepEnt。AddVertexAt(1,新点2d(0,0.1),0,0,0)
sweepEnt。AddVertexAt(2,新点2D(0.1,0.1),0,0,0)
sweepEnt。AddVertexAt(3,新点2D(0.1,0),0,0,0)
sweepEnt。AddVertexAt(4,新点2d(0,0),0,0,0)
<div>将ent3D设置为新的Solid3d()</div>
将sob作为SweepOptionsBuilder=新的SweepOptions生成器()进行调整。
呜咽。Align=SweepOptionsAlignOption.AlignSweepEntityToPath
呜咽。基点=路径起点
呜咽。Bank=True
ent3D。CreateSweptSolid(sweepEnt、pathEnt、sob.ToSweepOptions())
acBlkTblRec.AppendEntity(ent3D)
演员。AddNewlyCreatedDBObject(ent3D,True)
acTrans.Commit()
Catch-ex为Autodesk.AutoCAD.Runtime.Exception
MsgBox(“错误:&ex.Message&vbCrLf&Source:&ex.Source&vbcr&lf&Status:”&ex.ErrorStatus)
结束尝试
结束使用
结束使用
当我运行我的代码时,我得到了以下错误:
错误:eGeneralModelingFailure
源代码:Acdbmgd
状态:150
异常是由以下代码行引发的:
ent3D。CreateSweptSolid(sweepEnt,pathEnt,sob.ToSweepOptions())
提前感谢您的帮助<罗伊
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |
|