autoCAD编辑图案填充
用户可以编辑图案填充边界和填充图案。如果编辑关联图案填充的边界,只要编辑的结果是有效的边界,图案就会被更新。即使关联图案填充位于已关闭的图层上,仍将对其进行更新。用户可以修改填充图案或为现有的图案填充选择新的图案,但是只能在创建图案填充时设置关联性。可以使用 Associative 特性查看 Hatch 对象是否具有关联性。
必须使用 EvaluateHatch 方法重新计算图案填充才能看到任何图案填充的编辑效果。
编辑填充边界
可以向图案填充边界附加、插入或移除环。关联图案填充随其边界的改变而更新,非关联图案填充则不会更新。
若要编辑图案填充边界,请使用下列方法之一:
- AppendLoop
- 将一个环追加到图案填充。用户使用 AppendLoop 方法的第一个参数和 HatchLoopTypes 枚举常量定义所追加环的类型。
- GetLoopAt
- 获得图案填充指定索引处的环。
- InsertLoopAt
- 插入一个环到图案直译的指定索引处。
- RemoveLoopAt
- 从图案填充指定索引处删除一个环。
若要查询填充边界,请使用下列方法之一:
- LoopTypeAt
- 获得图案填充指定索引处的环的类型。
- NumberOfLoops
- 返回图案填充的环的数量。
本例创建一个关联的图案填充,然后创建一个圆并将该圆作为内部环附加到图案填充。
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
- 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编辑图案填充相关推荐
- autoCAD 编辑命名和二维对象
要修改现有的对象,可以使用与该对象关联的方法和特性.如果修改图形对象的可见特性,请使用 Regen 方法来重画屏幕上的对象.Regen 方法是 Editor 对象的成员. 使用命名对象 删除对象 复制 ...
- autoCAD 创建对象 使用面域 创建图案填充
创建对象 在 AutoCAD 中经常有多种不同的方法可以创建相同的图形对象.虽然 .NET API 没有提供同样的创建对象的组合,但是它除为每一个对象类型都提供一个基本的对象构造函数外,也提供了对象构 ...
- autocad.net计算图案填充的周长
//参考:https://adndevblog.typepad.com/autocad/2012/04/perimeter-of-a-hatch-using-objectarx-and-autocad ...
- 用计算机在记事本做图案,记事本如何自定义制作CAD图案填充
使用记事本通过对CAD填充图案文件进行编辑,添加新的图案填充. 1.*PAT库文件标准格式: *pattern-name [, description] angle, x-origin, y-orig ...
- html画布360图案填充_在Photoshop中创建带有图案的抽象设计
效果图 知识点: 应用选区工具结合图层混合模式和混合选项,创造出唯美的抽象类画册 效果 设计本身由一系列同心圆组成,每组的大小各不相同.每个圆都有6个核心色板的底色,然后渐变和图案填充会增加细节和深度 ...
- CAD填充技巧:1分钟带你摸透CAD图案填充!
在使用浩辰CAD软件绘制CAD图纸的过程中,图案填充功能是CAD设计师们的常用功能之一,用于绘制各种CAD图纸.在浩辰CAD软件中,CAD图案填充功能的参数设置其实非常丰富.接下来给大家介绍一些比较实 ...
- 你有试过AutoCAD的超级填充功能吗?
之所以称之为超级填充,是因为与普通填充相比,超级填充可以利用块.图像.外部参照.已存在实体等对封闭区域进行填充.AutoCAD扩展工具有此新功能,可以轻松解决找不到合适填充图案的燃眉之急,同时还有些常 ...
- PPT怎么插入图案填充效果
转载者: ppt素材库 来源: www.2ppt.cn 大家在使用office2010做PPT的时候不知道office2010怎么在PPT图表的插入及图表图案填充效果,其实方 ...
- AutoCAD2012从入门到精通中文视频教程 第15课 图案填充(个人收藏)
http://158pan.cn/file-150831.html 打开CAD 2012,先画一个圆 CAD 2012图案填充编辑 填充:H--空格--再点击圆内部,出现系统默认的图案(之前版本,在这 ...
- 一分钟教你迅捷CAD看图怎么切换显示模式以及图案填充颜色?
随着现在CAD相关的辅助软件应用的不断增多,我们也越来越依赖与CAD辅助设计软件,因为它的功能很多,操作起来也很方便,在使用迅捷CAD画图制图的时候,又该怎么切换显示模式与填充颜色?要是在绘图操作中需 ...
最新文章
- MarkDown编辑器基础使用教程
- 第八周项目三-指向学生类的指针
- python批量查询数据库_Python + MySQL 批量查询百度收录
- [z] 电子技术的老生常谈 —— 接地
- 如何让笨重的系统架构变灵巧?
- [洪流学堂]Hololens开发入门篇1之模拟器开发环境配置
- android studio配置国内,Android studio配置国内镜像源
- oracle坏块修复
- css3动画保持状态不变
- pytorch关系抽取框架OpenNRE源码解读与实践:PCNN ATT
- java opts tomcat,tomcat JAVA_OPTS配备
- TVS 瞬态抑制二极管如何选型?
- PhotoShop十大使用技巧总结
- python导入math模块_Python math模块详解
- YY语音CTO赵斌的技术创业
- java 求和、差、乘、商
- Unifying Task-oriented Knowledge Graph Learning and Recommendation
- 美创科技与联通(浙江)产互签署战略合作协议
- _SaveLog.dpr立即备份晓亮的电脑操作记录热键(快捷键) F11由于原来的 AutoIt 杀毒软件总是误报...
- 文件以及文件夹的管理