03-04 创建和编辑AutoCAD实体(四) 编辑二维命名对象 (9)

前端之家收集整理的这篇文章主要介绍了03-04 创建和编辑AutoCAD实体(四) 编辑二维命名对象 (9)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

11、Edit Hatches 编辑图案填充

@H_502_4@You can edit both hatch boundaries and hatch patterns. If you edit the boundary of an associative hatch,the pattern is updated as long as the editing results in a valid boundary. Associative hatches are updated even if they're on layers that are turned off. You can modify hatch patterns or choose a new pattern for an existing hatch,but associativity can only be set when a hatch is created. You can check to see if a Hatch object is associative by using the Associative property.

@H_502_4@我们可以编辑填充边界和填充图案。如果编辑关联填充的边界,且编辑后边界合法,填充图案就会随之更新。即便所在的图层处于关闭状态,关联填充也会更新。我们可以修改填充图案,或为其选择新的填充图案,但是其关联属性只在填充创建时才能设置。我们可以使用Associative属性检查Hatch对象是否为关联的。

@H_502_4@You must re-evaluate a hatch using the EvaluateHatch method to see any edits to the hatch.

@H_502_4@要想看到编辑后的效果,必须使用EvaluateHatch方法重新对所编辑的填充进行求值。

@H_502_4@For more information about editing hatches,see “Modify Hatches and Solid-Filled Areas” in theAutoCAD User's Guide.

@H_502_4@更多关于编辑填充的内容,见AutoCAD用户指南中的“修改图案填充和实体填充区域”。

11.1、Edit Hatch Boundaries编辑填充边界

@H_502_4@You can append,insert,or remove loops from the boundaries of a Hatch object. Associative hatches are updated to match any changes made to their boundaries. Non-associative hatches are not updated.

@H_502_4@我们可以从Hatch对象的边界中追加、插入及删除边界环。关联性填充会更新以适应边界变化,非关联性填充不更新。

@H_502_4@To edit a hatch boundary,use one of the following methods:

@H_502_4@下列方法用于编辑填充边界:

@H_502_4@AppendLoop

@H_502_4@Appends a loop to the hatch. You define the type of loop being appended with first parameter of the AppendLoop method and the constants defined by the HatchLoopTypes enum.

@H_502_4@给填充追加一个边界环,所追加边界环的类型由AppendLoop方法的第一个参数和HatchLoopTypes枚举类型的常量定义。

@H_502_4@GetLoopAt

@H_502_4@Gets the loop at a given index of a hatch. 获取填充给定索引位置的边界环。

@H_502_4@InsertLoopAt

@H_502_4@Inserts a loop at a given index of a hatch. 在填充的给定索引位置插入一个边界环。

@H_502_4@RemoveLoopAt

@H_502_4@Deletes a loop at a given index of a hatch. 在填充的给定索引位置删除一个边界环。

@H_502_4@

@H_502_4@To query a hatch boundary,use one of the following methods:

@H_502_4@下列方法用于查询填充的边界:

@H_502_4@LoopTypeAt

@H_502_4@Gets the type of loop at a given index of a hatch. 获取填充给定索引位置边界环的类型。

@H_502_4@NumberOfLoops

@H_502_4@Gets the number of loops of a hatch. 获取填充的边界环的个数。

@H_502_4@

@H_502_4@Append an inner loop to a hatch 给填充追加一个内部边界环

@H_502_4@This example creates an associative hatch. It then creates a circle and appends the circle as an inner loop to the hatch.

@H_502_4@本例创建一个关联图案填充,然后创建一个圆并追加该圆作为填充的内部边界环。

@H_502_4@

@H_502_4@VB.NET

@H_502_4@Imports Autodesk.AutoCAD.Runtime

@H_502_4@Imports Autodesk.AutoCAD.ApplicationServices

@H_502_4@Imports Autodesk.AutoCAD.DatabaseServices

@H_502_4@Imports Autodesk.AutoCAD.Geometry

@H_502_4@

@H_502_4@<CommandMethod("EditHatchAppendLoop")> _

@H_502_4@Public Sub EditHatchAppendLoop()

@H_502_4@ '' Get the current document and database

@H_502_4@ Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument

@H_502_4@ Dim acCurDb As Database = acDoc.Database

@H_502_4@

@H_502_4@ '' Start a transaction

@H_502_4@ Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()

@H_502_4@

@H_502_4@ '' Open the Block table for read

@H_502_4@ Dim acBlkTbl As BlockTable

@H_502_4@ acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,_

@H_502_4@ OpenMode.ForRead)

@H_502_4@

@H_502_4@ '' Open the Block table record Model space for write

@H_502_4@ Dim acBlkTblRec As BlockTableRecord

@H_502_4@ acBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace),_

@H_502_4@ OpenMode.ForWrite)

@H_502_4@

@H_502_4@ '' Create an arc object for the closed boundary to hatch

@H_502_4@ Dim acArc As Arc = New Arc(New Point3d(5,3,0),3.141592)

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acArc)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acArc,True)

@H_502_4@

@H_502_4@ '' Create an line object for the closed boundary to hatch

@H_502_4@ Dim acLine As Line = New Line(acArc.StartPoint,acArc.EndPoint)

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acLine)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acLine,True)

@H_502_4@

@H_502_4@ '' Adds the arc and line to an object id collection

@H_502_4@ Dim acObjIdColl As ObjectIdCollection = New ObjectIdCollection()

@H_502_4@ acObjIdColl.Add(acArc.ObjectId)

@H_502_4@ acObjIdColl.Add(acLine.ObjectId)

@H_502_4@

@H_502_4@ '' Create the hatch object and append it to the block table record

@H_502_4@ Dim acHatch As Hatch = New Hatch()

@H_502_4@ acBlkTblRec.AppendEntity(acHatch)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acHatch,True)

@H_502_4@

@H_502_4@ '' Set the properties of the hatch object

@H_502_4@ '' Associative must be set after the hatch object is appended to the

@H_502_4@ '' block table record and before AppendLoop

@H_502_4@ acHatch.SetHatchPattern(HatchPatternType.PreDefined,"ANSI31")

@H_502_4@ acHatch.Associative = True

@H_502_4@ acHatch.AppendLoop(HatchLoopTypes.Outermost,acObjIdColl)

@H_502_4@

@H_502_4@ '' Create a circle object for the inner boundary of the hatch

@H_502_4@ Dim acCirc As Circle = New Circle()

@H_502_4@ acCirc.Center = New Point3d(5,4.5,0)

@H_502_4@ acCirc.Radius = 1

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acCirc)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acCirc,True)

@H_502_4@

@H_502_4@ '' Adds the circle to an object id collection

@H_502_4@ acObjIdColl.Clear()

@H_502_4@ acObjIdColl.Add(acCirc.ObjectId)

@H_502_4@

@H_502_4@ '' Append the circle as the inner loop of the hatch and evaluate it

@H_502_4@ acHatch.AppendLoop(HatchLoopTypes.Default,acObjIdColl)

@H_502_4@ acHatch.EvaluateHatch(True)

@H_502_4@

@H_502_4@ '' Save the new object to the database

@H_502_4@ acTrans.Commit()

@H_502_4@ End Using

@H_502_4@End Sub

@H_502_4@

@H_502_4@C#

@H_502_4@using Autodesk.AutoCAD.Runtime;

@H_502_4@using Autodesk.AutoCAD.ApplicationServices;

@H_502_4@using Autodesk.AutoCAD.DatabaseServices;

@H_502_4@using Autodesk.AutoCAD.Geometry;

@H_502_4@

@H_502_4@[CommandMethod("EditHatchAppendLoop")]

@H_502_4@public static void EditHatchAppendLoop()

@H_502_4@{

@H_502_4@ // Get the current document and database获取当前文档和数据库

@H_502_4@ Document acDoc = Application.DocumentManager.MdiActiveDocument;

@H_502_4@ Database acCurDb = acDoc.Database;

@H_502_4@

@H_502_4@ // Start a transaction启动事务

@H_502_4@ using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

@H_502_4@ {

@H_502_4@ // Open the Block table for read以读打开块表

@H_502_4@ BlockTable acBlkTbl;

@H_502_4@ acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,

@H_502_4@ OpenMode.ForRead) as BlockTable;

@H_502_4@

@H_502_4@ // Open the Block table record Model space for write以写打开块表记录模型空间

@H_502_4@ BlockTableRecord acBlkTblRec;

@H_502_4@ acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],

@H_502_4@ OpenMode.ForWrite) as BlockTableRecord;

@H_502_4@

@H_502_4@ // Create an arc object for the closed boundary to hatch创建一个圆弧对象作为填充的闭合边界

@H_502_4@ Arc acArc = new Arc(new Point3d(5,3.141592);

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acArc);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acArc,true);

@H_502_4@

@H_502_4@ // Create an line object for the closed boundary to hatch创建一个直线对象作为填充的闭合边界

@H_502_4@ Line acLine = new Line(acArc.StartPoint,acArc.EndPoint);

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acLine);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acLine,true);

@H_502_4@

@H_502_4@ // Adds the arc and line to an object id collection将圆弧和直线添加到ObjectIdCollection

@H_502_4@ ObjectIdCollection acObjIdColl = new ObjectIdCollection();

@H_502_4@ acObjIdColl.Add(acArc.ObjectId);

@H_502_4@ acObjIdColl.Add(acLine.ObjectId);

@H_502_4@

@H_502_4@ // Create the hatch object and append it to the block table record创建Hatch对象

@H_502_4@ Hatch acHatch = new Hatch();

@H_502_4@ acBlkTblRec.AppendEntity(acHatch);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acHatch,true);

@H_502_4@

@H_502_4@ // Set the properties of the hatch object设置填充对象的属性

@H_502_4@ // Associative must be set after the hatch object is appended to the

@H_502_4@ // block table record and before AppendLoop关联属性必须在将填充对象添加到块表记录之后、执行AppendLoop之前设置

@H_502_4@ acHatch.SetHatchPattern(HatchPatternType.PreDefined,"ANSI31");

@H_502_4@ acHatch.Associative = true;

@H_502_4@ acHatch.AppendLoop(HatchLoopTypes.Outermost,acObjIdColl);

@H_502_4@

@H_502_4@ // Create a circle object for the inner boundary of the hatch创建一个圆对象作为填充的内部边界

@H_502_4@ Circle acCirc = new Circle();

@H_502_4@ acCirc.Center = new Point3d(5,0);

@H_502_4@ acCirc.Radius = 1;

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acCirc);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acCirc,true);

@H_502_4@

@H_502_4@ // Adds the circle to an object id collection将圆添加到ObjectIdCollection

@H_502_4@ acObjIdColl.Clear();

@H_502_4@ acObjIdColl.Add(acCirc.ObjectId);

@H_502_4@

@H_502_4@ // Append the circle as the inner loop of the hatch and evaluate it追加圆为内部边界环并对填充对象取值

@H_502_4@ acHatch.AppendLoop(HatchLoopTypes.Default,acObjIdColl);

@H_502_4@ acHatch.EvaluateHatch(true);

@H_502_4@

@H_502_4@ // Save the new object to the database保存到数据库

@H_502_4@ acTrans.Commit();

@H_502_4@ }

@H_502_4@}

@H_502_4@

@H_502_4@VBA/ActiveX Code Reference

@H_502_4@Sub EditHatchAppendLoop()

@H_502_4@ Dim hatchObj As AcadHatch

@H_502_4@ Dim patternName As String

@H_502_4@ Dim PatternType As Long

@H_502_4@ Dim bAssociativity As Boolean

@H_502_4@

@H_502_4@ ' Define and create the hatch

@H_502_4@ patternName = "ANSI31"

@H_502_4@ PatternType = 0

@H_502_4@ bAssociativity = True

@H_502_4@ Set hatchObj = ThisDrawing.ModelSpace. _

@H_502_4@ AddHatch(PatternType,patternName,bAssociativity)

@H_502_4@

@H_502_4@ ' Create the outer loop for the hatch.

@H_502_4@ Dim outerLoop(0 To 1) As AcadEntity

@H_502_4@ Dim center(0 To 2) As Double

@H_502_4@ Dim radius As Double

@H_502_4@ Dim startAngle As Double

@H_502_4@ Dim endAngle As Double

@H_502_4@ center(0) = 5: center(1) = 3: center(2) = 0

@H_502_4@ radius = 3

@H_502_4@ startAngle = 0

@H_502_4@ endAngle = 3.141592

@H_502_4@ Set outerLoop(0) = ThisDrawing.ModelSpace. _

@H_502_4@ AddArc(center,radius,startAngle,endAngle)

@H_502_4@ Set outerLoop(1) = ThisDrawing.ModelSpace. _

@H_502_4@ AddLine(outerLoop(0).startPoint,outerLoop(0).endPoint)

@H_502_4@

@H_502_4@ ' Append the outer loop to the hatch object

@H_502_4@ hatchObj.AppendOuterLoop (outerLoop)

@H_502_4@

@H_502_4@ ' Create a circle as the inner loop for the hatch.

@H_502_4@ Dim innerLoop(0) As AcadEntity

@H_502_4@ center(0) = 5: center(1) = 4.5: center(2) = 0

@H_502_4@ radius = 1

@H_502_4@ Set innerLoop(0) = ThisDrawing.ModelSpace. _

@H_502_4@ AddCircle(center,radius)

@H_502_4@

@H_502_4@ ' Append the circle as an inner loop to the hatch

@H_502_4@ hatchObj.AppendInnerLoop (innerLoop)

@H_502_4@

@H_502_4@ ' Evaluate and display the hatch

@H_502_4@ hatchObj.Evaluate

@H_502_4@ ThisDrawing.Regen True

@H_502_4@End Sub

11.2、Edit Hatch Patterns编辑填充图案

@H_502_4@You can change the angle or spacing of an existing hatch pattern or replace it with a solid-fill,gradient fill,or one of the predefined patterns that AutoCAD offers. The Pattern option in the Boundary Hatch dialog Box displays a list of these patterns. To reduce file size,the hatch is defined in the drawing as a single graphic object.

@H_502_4@我们可以修改现有填充图案的角度或间隔,或者用实体填充、渐变色填充以及AutoCAD提供的预定义填充图案来替换现有填充图案。边界填充对话框的图案选项显示了这些图案的列表。为减小文件大小,在图形中将填充图案定义为单独的图像对象。

@H_502_4@Use the following properties and methods to edit the hatch patterns:

@H_502_4@下列属性方法用于编辑填充图案:

@H_502_4@GradientAngle

@H_502_4@Specifies the gradient angle of the hatch. 指定填充的渐变色角度

@H_502_4@GradientName

@H_502_4@Returns the gradient name of the hatch. 返回填充的渐变色名称

@H_502_4@GradientShift

@H_502_4@Specifies the gradient shift of the hatch. 指定填充的渐变插值

@H_502_4@GradientType

@H_502_4@Returns the gradient type of the hatch. 返回填充的渐变色类型

@H_502_4@PatternAngle

@H_502_4@Specifies the angle of the hatch pattern. 指定填充图案的角度

@H_502_4@PatternDouble

@H_502_4@Specifies if the user-defined hatch is double-hatched. 指定用户自定义填充是否为双填充?

@H_502_4@PatternName

@H_502_4@Returns the hatch pattern name of the hatch. (Use the SetHatchPattern method to set the hatch pattern name and type of the hatch.) 返回填充图案的名称(使用SetHatchPattern方法设置填充的名称和类型)

@H_502_4@PatternScale

@H_502_4@Specifies the hatch pattern scale. 指定填充比例

@H_502_4@PatternSpace

@H_502_4@Specifies the user-defined hatch pattern spacing. 指定用户自定义填充的间隔

@H_502_4@PatternType

@H_502_4@Returns the hatch pattern type of the hatch. (Use the SetHatchPattern method to set the hatch pattern name and type of the hatch.) 返回填充图案的类型(使用SetHatchPattern方法设置填充的名称和类型)

@H_502_4@SetGradient

@H_502_4@Sets the gradient type and name for the hatch. 设置渐变填充的名称和类型

@H_502_4@SetHatchPattern

@H_502_4@Sets the pattern type and name for the hatch. 设置填充的名称和类型

@H_502_4@Change the pattern spacing of a hatch 修改填充图案的间距

@H_502_4@This example creates a hatch. It then adds two to the current pattern spacing for the hatch.

@H_502_4@本例创建一个图案填充,然后将该填充图案的间距加2。

@H_502_4@

@H_502_4@VB.NET

@H_502_4@Imports Autodesk.AutoCAD.Runtime

@H_502_4@Imports Autodesk.AutoCAD.ApplicationServices

@H_502_4@Imports Autodesk.AutoCAD.DatabaseServices

@H_502_4@Imports Autodesk.AutoCAD.Geometry

@H_502_4@

@H_502_4@<CommandMethod("EditHatchPatternScale")> _

@H_502_4@Public Sub EditHatchPatternScale()

@H_502_4@ '' Get the current document and database

@H_502_4@ Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument

@H_502_4@ Dim acCurDb As Database = acDoc.Database

@H_502_4@

@H_502_4@ '' Start a transaction

@H_502_4@ Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()

@H_502_4@

@H_502_4@ '' Open the Block table for read

@H_502_4@ Dim acBlkTbl As BlockTable

@H_502_4@ acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,_

@H_502_4@ OpenMode.ForWrite)

@H_502_4@

@H_502_4@ '' Create a circle object for the boundary of the hatch

@H_502_4@ Dim acCirc As Circle = New Circle()

@H_502_4@ acCirc.Center = New Point3d(5,0)

@H_502_4@ acCirc.Radius = 3

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acCirc)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acCirc,True)

@H_502_4@

@H_502_4@ '' Adds the arc and line to an object id collection

@H_502_4@ Dim acObjIdColl As ObjectIdCollection = New ObjectIdCollection()

@H_502_4@ acObjIdColl.Add(acCirc.ObjectId)

@H_502_4@

@H_502_4@ '' Create the hatch object and append it to the block table record

@H_502_4@ Dim acHatch As Hatch = New Hatch()

@H_502_4@ acBlkTblRec.AppendEntity(acHatch)

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acHatch,acObjIdColl)

@H_502_4@

@H_502_4@ '' Evaluate the hatch

@H_502_4@ acHatch.EvaluateHatch(True)

@H_502_4@

@H_502_4@ '' Increase the pattern scale by 2 and re-evaluate the hatch

@H_502_4@ acHatch.PatternScale = acHatch.PatternScale + 2

@H_502_4@ acHatch.SetHatchPattern(acHatch.PatternType,acHatch.PatternName)

@H_502_4@ acHatch.EvaluateHatch(True)

@H_502_4@

@H_502_4@ '' Save the new object to the database

@H_502_4@ acTrans.Commit()

@H_502_4@ End Using

@H_502_4@End Sub

@H_502_4@

@H_502_4@C#

@H_502_4@using Autodesk.AutoCAD.Runtime;

@H_502_4@using Autodesk.AutoCAD.ApplicationServices;

@H_502_4@using Autodesk.AutoCAD.DatabaseServices;

@H_502_4@using Autodesk.AutoCAD.Geometry;

@H_502_4@

@H_502_4@[CommandMethod("EditHatchPatternScale")]

@H_502_4@public static void EditHatchPatternScale()

@H_502_4@{

@H_502_4@ // Get the current document and database

@H_502_4@ Document acDoc = Application.DocumentManager.MdiActiveDocument;

@H_502_4@ Database acCurDb = acDoc.Database;

@H_502_4@

@H_502_4@ // Start a transaction

@H_502_4@ using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())

@H_502_4@ {

@H_502_4@ // Open the Block table for read

@H_502_4@ BlockTable acBlkTbl;

@H_502_4@ acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId,

@H_502_4@ OpenMode.ForRead) as BlockTable;

@H_502_4@

@H_502_4@ // Open the Block table record Model space for write

@H_502_4@ BlockTableRecord acBlkTblRec;

@H_502_4@ acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace],

@H_502_4@ OpenMode.ForWrite) as BlockTableRecord;

@H_502_4@

@H_502_4@ // Create a circle object for the boundary of the hatch

@H_502_4@ Circle acCirc = new Circle();

@H_502_4@ acCirc.Center = new Point3d(5,0);

@H_502_4@ acCirc.Radius = 3;

@H_502_4@

@H_502_4@ acBlkTblRec.AppendEntity(acCirc);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acCirc,true);

@H_502_4@

@H_502_4@ // Adds the circle to an object id collection

@H_502_4@ ObjectIdCollection acObjIdColl = new ObjectIdCollection();

@H_502_4@ acObjIdColl.Add(acCirc.ObjectId);

@H_502_4@

@H_502_4@ // Create the hatch object and append it to the block table record

@H_502_4@ Hatch acHatch = new Hatch();

@H_502_4@ acBlkTblRec.AppendEntity(acHatch);

@H_502_4@ acTrans.AddNewlyCreatedDBObject(acHatch,true);

@H_502_4@

@H_502_4@ // Set the properties of the hatch object设置填充对象属性

@H_502_4@ // Associative must be set after the hatch object is appended to the block table record and before AppendLoop

@H_502_4@ // 关联属性必须在将填充对象添加到块表记录之后、执行AppendLoop之前设置

@H_502_4@ acHatch.SetHatchPattern(HatchPatternType.PreDefined,acObjIdColl);

@H_502_4@

@H_502_4@ // Evaluate the hatch计算填充

@H_502_4@ acHatch.EvaluateHatch(true);

@H_502_4@

@H_502_4@ // Increase the pattern scale by 2 and re-evaluate the hatch填充图案的比例加2,重新计算填充

@H_502_4@ acHatch.PatternScale = acHatch.PatternScale + 2;

@H_502_4@ acHatch.SetHatchPattern(acHatch.PatternType,acHatch.PatternName);

@H_502_4@ acHatch.EvaluateHatch(true);

@H_502_4@

@H_502_4@ // Save the new object to the database保存到数据库

@H_502_4@ acTrans.Commit();

@H_502_4@ }

@H_502_4@}

@H_502_4@

@H_502_4@VBA/ActiveX Code Reference

@H_502_4@Sub EditHatchPatternScale()

@H_502_4@ Dim hatchObj As AcadHatch

@H_502_4@ Dim patternName As String

@H_502_4@ Dim PatternType As Long

@H_502_4@ Dim bAssociativity As Boolean

@H_502_4@

@H_502_4@ ' Define the hatch

@H_502_4@ patternName = "ANSI31"

@H_502_4@ PatternType = 0

@H_502_4@ bAssociativity = True

@H_502_4@

@H_502_4@ ' Create the associative Hatch object

@H_502_4@ Set hatchObj = ThisDrawing.ModelSpace. _

@H_502_4@ AddHatch(PatternType,bAssociativity)

@H_502_4@

@H_502_4@ ' Create the outer loop for the hatch.

@H_502_4@ Dim outerLoop(0 To 0) As AcadEntity

@H_502_4@ Dim center(0 To 2) As Double

@H_502_4@ Dim radius As Double

@H_502_4@ center(0) = 5

@H_502_4@ center(1) = 3

@H_502_4@ center(2) = 0

@H_502_4@ radius = 3

@H_502_4@ Set outerLoop(0) = ThisDrawing.ModelSpace. _

@H_502_4@ AddCircle(center,radius)

@H_502_4@ hatchObj.AppendOuterLoop (outerLoop)

@H_502_4@ hatchObj.Evaluate

@H_502_4@

@H_502_4@ ' Change the scale of the hatch pattern by

@H_502_4@ ' adding 2 to the current scale

@H_502_4@ hatchObj.patternScale = hatchObj.patternScale + 2

@H_502_4@ hatchObj.Evaluate

@H_502_4@ ThisDrawing.Regen True

@H_502_4@End Sub

猜你在找的VB相关文章