用户可以编辑图案填充边界和填充图案。如果编辑关联图案填充的边界,只要编辑的结果是有效的边界,图案就会被更新。即使关联图案填充位于已关闭的图层上,仍将对其进行更新。用户可以修改填充图案或为现有的图案填充选择新的图案,但是只能在创建图案填充时设置关联性。可以使用 Associative 特性查看 Hatch 对象是否具有关联性。

必须使用 EvaluateHatch 方法重新计算图案填充才能看到任何图案填充的编辑效果。

编辑填充边界

可以向图案填充边界附加、插入或移除环。关联图案填充随其边界的改变而更新,非关联图案填充则不会更新。

若要编辑图案填充边界,请使用下列方法之一:

若要查询填充边界,请使用下列方法之一:

将内部环附加到图案填充

本例创建一个关联的图案填充,然后创建一个圆并将该圆作为内部环附加到图案填充。

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry<CommandMethod("EditHatchAppendLoop")> _
Public Sub EditHatchAppendLoop()'' 获得当前文档和数据库   Get the current document and databaseDim acDoc As Document = Application.DocumentManager.MdiActiveDocumentDim acCurDb As Database = acDoc.Database''启动一个事务   Start a transactionUsing acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()'' 以只读方式打开块表   Open the Block table for readDim acBlkTbl As BlockTableacBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, _OpenMode.ForRead)'' 以写方式打开模型空间块表记录   Open the Block table record Model space for writeDim acBlkTblRec As BlockTableRecordacBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), _OpenMode.ForWrite)''创建一个圆弧对象作为图案填充的闭合边界   Create an arc object for the closed boundary to hatchDim acArc As Arc = New Arc(New Point3d(5, 3, 0), 3, 0, 3.141592)acArc.SetDatabaseDefaults()acBlkTblRec.AppendEntity(acArc)acTrans.AddNewlyCreatedDBObject(acArc, True)''创建一个直线对象作为图案填充的闭合边界   Create an line object for the closed boundary to hatchDim acLine As Line = New Line(acArc.StartPoint, acArc.EndPoint)acLine.SetDatabaseDefaults()acBlkTblRec.AppendEntity(acLine)acTrans.AddNewlyCreatedDBObject(acLine, True)''添加圆弧和直线到一个对象编号集合中   Adds the arc and line to an object id collectionDim acObjIdColl As ObjectIdCollection = New ObjectIdCollection()acObjIdColl.Add(acArc.ObjectId)acObjIdColl.Add(acLine.ObjectId)'' 创建图案填充对象并添加到块表记录中    Create the hatch object and append it to the block table recordDim acHatch As Hatch = New Hatch()acBlkTblRec.AppendEntity(acHatch)acTrans.AddNewlyCreatedDBObject(acHatch, True)'' 设置图案填充对象的属性  Set the properties of the hatch object'' 关联性必须在 Hatch 对象追加到块表记录中后,AppendLoop 方法使用之前设置''  Associative must be set after the hatch object is appended to the '' block table record and before AppendLoopacHatch.SetDatabaseDefaults()acHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31")acHatch.Associative = TrueacHatch.AppendLoop(HatchLoopTypes.Outermost, acObjIdColl)'' 创建一个圆对象作为填充的内部边界  Create a circle object for the inner boundary of the hatchDim acCirc As Circle = New Circle()acCirc.SetDatabaseDefaults()acCirc.Center = New Point3d(5, 4.5, 0)acCirc.Radius = 1acBlkTblRec.AppendEntity(acCirc)acTrans.AddNewlyCreatedDBObject(acCirc, True)'' 添加圆到对象编号集合中去  Adds the circle to an object id collectionacObjIdColl.Clear()acObjIdColl.Add(acCirc.ObjectId)'' 追加圆作为填充的内部环并计算它  Append the circle as the inner loop of the hatch and evaluate itacHatch.AppendLoop(HatchLoopTypes.Default, acObjIdColl)acHatch.EvaluateHatch(True)'' 保存新对象到数据库中   Save the new object to the databaseacTrans.Commit()End Using
End Sub

编辑填充图案

用户可以修改现有填充图案的角度或间距,也可以将其替换为实体填充、斜线填充图案或 AutoCAD 提供的预定义图案。“边界图案填充”对话框中的“图案”选项显示了这些图案的列表。为了缩小文件的大小,图案填充在图形中被定义为单一的图形对象。

使用以下特性和方法来编辑填充图案:

  • GardientAngle
  • 指定填充图案的角度。
  • GardientName
  • 指定填充倾斜的名称。
  • GardientShift
  • 指定填充倾斜间距
  • GardientType
  • 返回填充的倾斜类型
  • PatternAngle
  • 指定填充图案的角度
  • PatternDouble
  • 指定用户定义的图案填充是否双向填充。
  • PatternName
  • 返回填充的填充图案的名称(使用 SetHatchPattern 方法使用填充图案的名称和图案的类型)。
  • PatternScale
  • 指定填充图案的缩放比例
  • PatternSpace
  • 指定用户定义的填充图案间距。
  • PatternType
  • 返回填充的填充图案类型。(使用 SetHatchPattern 方法设置填充的填充图案名称和类型。)
  • SetGradient
  • 设置图案的倾斜类型和名称。
  • SetHatchPattern
  • 设置填充的图案类型和名称。

修改填充的图案间距

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry<CommandMethod("EditHatchPatternScale")> _
Public Sub EditHatchPatternScale()'' 获得当前文档和数据库   Get the current document and databaseDim acDoc As Document = Application.DocumentManager.MdiActiveDocumentDim acCurDb As Database = acDoc.Database''启动一个事务   Start a transactionUsing acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()'' 以只读方式打开块表   Open the Block table for readDim acBlkTbl As BlockTableacBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, _OpenMode.ForRead)'' 以写方式打开模型空间块表记录   Open the Block table record Model space for writeDim acBlkTblRec As BlockTableRecordacBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), _OpenMode.ForWrite)'' 创建一个作为填充的边界的圆对象  Create a circle object for the boundary of the hatchDim acCirc As Circle = New Circle()acCirc.SetDatabaseDefaults()acCirc.Center = New Point3d(5, 3, 0)acCirc.Radius = 3acBlkTblRec.AppendEntity(acCirc)acTrans.AddNewlyCreatedDBObject(acCirc, True)'' 添加圆弧和直线到对象编号集合中去  Adds the arc and line to an object id collectionDim acObjIdColl As ObjectIdCollection = New ObjectIdCollection()acObjIdColl.Add(acCirc.ObjectId)'' 创建图案填充对象并添加到块表记录中    Create the hatch object and append it to the block table recordDim acHatch As Hatch = New Hatch()acBlkTblRec.AppendEntity(acHatch)acTrans.AddNewlyCreatedDBObject(acHatch, True)'' 设置Hatch 对象的属性  Set the properties of the hatch object'' Associative must be set after the hatch object is appended to the '' block table record and before AppendLoopacHatch.SetDatabaseDefaults()acHatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31")acHatch.Associative = TrueacHatch.AppendLoop(HatchLoopTypes.Outermost, acObjIdColl)''计算填充   Evaluate the hatchacHatch.EvaluateHatch(True)''图案比例增加2 并重算图案   Increase the pattern scale by 2 and re-evaluate the hatchacHatch.PatternScale = acHatch.PatternScale + 2acHatch.SetHatchPattern(acHatch.PatternType, acHatch.PatternName)acHatch.EvaluateHatch(True)'' 保存新对象到数据库中   Save the new object to the databaseacTrans.Commit()End Using
End Sub

autoCAD编辑图案填充相关推荐

  1. autoCAD 编辑命名和二维对象

    要修改现有的对象,可以使用与该对象关联的方法和特性.如果修改图形对象的可见特性,请使用 Regen 方法来重画屏幕上的对象.Regen 方法是 Editor 对象的成员. 使用命名对象 删除对象 复制 ...

  2. autoCAD 创建对象 使用面域 创建图案填充

    创建对象 在 AutoCAD 中经常有多种不同的方法可以创建相同的图形对象.虽然 .NET API 没有提供同样的创建对象的组合,但是它除为每一个对象类型都提供一个基本的对象构造函数外,也提供了对象构 ...

  3. autocad.net计算图案填充的周长

    //参考:https://adndevblog.typepad.com/autocad/2012/04/perimeter-of-a-hatch-using-objectarx-and-autocad ...

  4. 用计算机在记事本做图案,记事本如何自定义制作CAD图案填充

    使用记事本通过对CAD填充图案文件进行编辑,添加新的图案填充. 1.*PAT库文件标准格式: *pattern-name [, description] angle, x-origin, y-orig ...

  5. html画布360图案填充_在Photoshop中创建带有图案的抽象设计

    效果图 知识点: 应用选区工具结合图层混合模式和混合选项,创造出唯美的抽象类画册 效果 设计本身由一系列同心圆组成,每组的大小各不相同.每个圆都有6个核心色板的底色,然后渐变和图案填充会增加细节和深度 ...

  6. CAD填充技巧:1分钟带你摸透CAD图案填充!

    在使用浩辰CAD软件绘制CAD图纸的过程中,图案填充功能是CAD设计师们的常用功能之一,用于绘制各种CAD图纸.在浩辰CAD软件中,CAD图案填充功能的参数设置其实非常丰富.接下来给大家介绍一些比较实 ...

  7. 你有试过AutoCAD的超级填充功能吗?

    之所以称之为超级填充,是因为与普通填充相比,超级填充可以利用块.图像.外部参照.已存在实体等对封闭区域进行填充.AutoCAD扩展工具有此新功能,可以轻松解决找不到合适填充图案的燃眉之急,同时还有些常 ...

  8. PPT怎么插入图案填充效果

    转载者: ppt素材库              来源: www.2ppt.cn 大家在使用office2010做PPT的时候不知道office2010怎么在PPT图表的插入及图表图案填充效果,其实方 ...

  9. AutoCAD2012从入门到精通中文视频教程 第15课 图案填充(个人收藏)

    http://158pan.cn/file-150831.html 打开CAD 2012,先画一个圆 CAD 2012图案填充编辑 填充:H--空格--再点击圆内部,出现系统默认的图案(之前版本,在这 ...

  10. 一分钟教你迅捷CAD看图怎么切换显示模式以及图案填充颜色?

    随着现在CAD相关的辅助软件应用的不断增多,我们也越来越依赖与CAD辅助设计软件,因为它的功能很多,操作起来也很方便,在使用迅捷CAD画图制图的时候,又该怎么切换显示模式与填充颜色?要是在绘图操作中需 ...

最新文章

  1. MarkDown编辑器基础使用教程
  2. 第八周项目三-指向学生类的指针
  3. python批量查询数据库_Python + MySQL 批量查询百度收录
  4. [z] 电子技术的老生常谈 —— 接地
  5. 如何让笨重的系统架构变灵巧?
  6. [洪流学堂]Hololens开发入门篇1之模拟器开发环境配置
  7. android studio配置国内,Android studio配置国内镜像源
  8. oracle坏块修复
  9. css3动画保持状态不变
  10. pytorch关系抽取框架OpenNRE源码解读与实践:PCNN ATT
  11. java opts tomcat,tomcat JAVA_OPTS配备
  12. TVS 瞬态抑制二极管如何选型?
  13. PhotoShop十大使用技巧总结
  14. python导入math模块_Python math模块详解
  15. YY语音CTO赵斌的技术创业
  16. java 求和、差、乘、商
  17. Unifying Task-oriented Knowledge Graph Learning and Recommendation
  18. 美创科技与联通(浙江)产互签署战略合作协议
  19. _SaveLog.dpr立即备份晓亮的电脑操作记录热键(快捷键) F11由于原来的 AutoIt 杀毒软件总是误报...
  20. 文件以及文件夹的管理

热门文章

  1. 乱码问题的原理及解决方法
  2. Java程序员:java软件工程师中级证
  3. Mongo 多语言模糊匹配
  4. 100个python算法超详细讲解:要发就发
  5. pygame下载报错
  6. 腾讯魔镜壁纸所在位置
  7. 斗鱼 Juno 监控中心的设计与实现
  8. 计算机软考高级论文怎么写,【干货】软考高级论文怎么写易得高分?
  9. 诊断(UDS)协议栈设计-系列讲解
  10. IMX8mp alsa音频调试