1、在上一篇文章中介绍了在CAD图纸中由闭合区域一点绘制一个填充对象,那么这篇文章将介绍填充图案从文件加载图案定义。

2、实现思路:首先我们先在控件视区的闭合区域点取一点,然后利用DrawHatchFromPoint方法在当前控件显示范围内搜缩闭合区域,然后用该闭合区域创建填充对象。定义填充图案的文件名,再通过ObjectIdToObject方法由实体id返回实体对象,最后通过LoadPatternDefinition方法从文件加载图案定义就可以啦。

3、主要用到函数说明:

(1)_DMxDrawX::DrawHatchFromPoint

根据一个点,在当前控件显示范围内搜缩闭合区域,然后用该闭合区域创建填充对象,详细说明如下:

参数

说明

DOUBLE dX

开始搜索点X值

DOUBLE dY

开始搜索点y值

DOUBLE dPatternScale

图案缩放比例

(2)IMxDrawDatabase::ObjectIdToObject

实体id返回实体对象,具体详细如下:

参数

说明

[in] LONGLONG lId

实体id

(3)IMxDrawHatch::LoadPatternDefinition

从文件加载图案定义,详细说明如下:

参数

说明

[in] BSTR pszFileName

图案定义文件

[in] BSTR pszName

图案名称

[in] DOUBLE dPatternScale

缩放比例,默认传1.0 dPatternAngel -角度,默认传0.0

c#代码实现如下:

MxDrawUiPrPoint getPoint = new MxDrawUiPrPoint();getPoint.message = "点取一点:";                if (getPoint.go() != MCAD_McUiPrStatus.mcOk)                    return;MxDrawPoint pt = getPoint.value();axMxDrawX1.PatternDefinition = "SOLID";Int64 id = axMxDrawX1.DrawHatchFromPoint(pt.x, pt.y, 1.0);                if (id == 0)                    return;                // 修改新绘的填充的图案从文件中加载.String sPatternFile = axMxDrawX1.GetOcxAppPath() + "\mx.pat";String sPatternName = "ANSI35";MxDrawHatch hatch = (MxDrawHatch)axMxDrawX1.ObjectIdToObject(id);hatch.LoadPatternDefinition(sPatternFile, sPatternName, 300.0, 0.0);

js代码实现如下:


var getPoint = mxOcx.NewComObject("IMxDrawUiPrPoint");getPoint.message = "点取一点";if (getPoint.go() != 1) {return;
}
var frstPt = getPoint.value();
if (frstPt == null)return;mxOcx.PatternDefinition = "SOLID";
var id = mxOcx.DrawHatchFromPoint(frstPt.x, frstPt.y, 1.0);if (id == 0)return;// 修改新绘的填充的图案从文件中加载.
var sPatternFile = mxOcx.GetOcxAppPath() + "\\mx.pat";
var sPatternName = "ANSI35";var hatch = mxOcx.ObjectIdToObject(id);
hatch.LoadPatternDefinition(sPatternFile, sPatternName, 300.0, 0.0);

CAD填充图案从文件加载图案定义相关推荐

  1. cad重新加载php命令,linux修改php.ini后重新加载配置文件命令 如何在不cad的况下重新加载acad...

    延伸:如何在不cad的况下重新加载acad 问题:我在绘图过程中想要调整acad.pgp,担 但修改后需要 重新启 回答:能不能再说清楚点,我不太懂!例如:ET工具或者Bonus工具在哪里? 查看原帖 ...

  2. 已解决微软Office2016 Excel卡顿\缓慢、打开第二个文件加载很慢问题(亲测有效)

    已解决微软Office2016 Excel卡顿\缓慢.打开第二个文件加载很慢问题(亲测有效) 文章目录 问题描述 问题分析 解决方法1 解决方法2 解决方法3 1) 修改基本设置 2)修改配置文件 千 ...

  3. Cocos2d之Texture2D类详解之将文件加载成Texture2D对象

    一.声明 笔者以cocos2d框架cocos2d-x-3.3rc0版本的源码做分析.本文为笔者原创,允许转载和分享,只要注明文章出处即可. 二.简介 Texture2D类简介 Texture2D类允许 ...

  4. 高性能javascript 文件加载阻塞

    高性能javascript javascript脚本执行过程中会中断页面加载,直到脚本执行完毕,此操作阻塞了页面加载,造成性能问题.   脚本位置和加载顺序: 如果将脚本放在head内,那么再脚本执行 ...

  5. 用 C 语言开发一门编程语言 — 字符串与文件加载

    目录 文章目录 目录 前文列表 字符串 读取字符串 注释 文件加载函数 命令行参数 打印函数 报错函数 源代码 前文列表 <用 C 语言开发一门编程语言 - 交互式解析器> <用 C ...

  6. wpf 加载资源html,从资源文件加载WPF样式

    我试图从 WPF自定义控件库实际上从其他文件加载WPF样式 但我没有加载这里是我的解决方案. 该解决方案包含两个项目 >类型WPF自定义控件库的WpfTestControls > WPF应 ...

  7. python opencv imread()函数 (从文件加载图像)

    def imread(filename, flags=None): # real signature unknown; restored from __doc__"""i ...

  8. php基础语法(文件加载和错误)

    文件加载 有4个文件加载的语法形式(注意,不是函数): include,  include_once,  require, require_once; 他们的本质是一样的,都是用于加载/引入/包含/载 ...

  9. linux 加载 iso,Linux iso文件加载和解包的用法

    Linux iso文件已被广泛应用但是也在不断的更新,这里介绍Linux iso文件安装设置使用,帮助大家安装更新Linux iso文件系统.软件包管理 之Linux Fedora 软件包管理器sys ...

最新文章

  1. 搭建Windows Server 2008故障转移群集
  2. [New Portal]Windows Azure Virtual Machine (5) 配置VM的Endpoints
  3. redis 入门教程
  4. js insertBefore insertAfter appendChild
  5. Unicode utf8等编码类型的原理
  6. 试用 Vista RC1 ,正式版离我们越来越近
  7. 利用 livy 远程提交 spark作业
  8. .Net Aop(静态织入)框架 BSF.Aop
  9. 你会换吗?报告称将有大批iPhone用户升级苹果5G新机
  10. python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法
  11. time_t 和 struct tm 及时间戳的正确用法
  12. 怎么把代码放图片里面进行注入_揭秘代码分层后的新世界
  13. 深入解读Docker底层技术Cgroup系列(5)——cgroup子系统cpuset
  14. logmmse降噪算法
  15. Java生成、解析二维码方案以及代码实现
  16. 小火狐进化_第34章 契约小火狐
  17. 【很赞的一片文章】android获取手机号码(主要是移动手机)
  18. 81章 老子1章到_《道德经》81章全文(建议收藏)
  19. python运算符计算集合并集_Python集合、集合的运算、集合方法详细讲解
  20. 【观察】从新华三2022十大技术趋势,看数字化如何重塑未来社会

热门文章

  1. 世界需要一种什么样的语言?
  2. 在Eclipse中手动安装pydev插件(一切都是被逼的,垃圾网络)
  3. 被逼着参加QQ“酷感夏日”活动
  4. WebSocket私信聊天(无群聊天)
  5. [转]产品经理 书目录
  6. 《疯狂动物城》主题曲《TryEverything》中文翻译
  7. 体验游戏,就在即刻!Google Play Instant
  8. 在采用总线型结构的计算机网络中,在采用总线型结构的计算机网络中,()。
  9. LaTeX 花体字母和数字
  10. python pandas读取数据报错:Traceback (most recent call last):anaconda3/lib/python3.7/site-packages/pandas/i