AutoCAD.NET
文章平均质量分 79
SureLeoo
这个作者很懒,什么都没留下…
展开
-
C#下的Gdal中文路径支持、中文字符乱码以及FileGDB读写问题
大名鼎鼎的GDAL/OGR,可说是GIS行业的格式工厂,现在支持的矢栅格式,怕是有几百种了吧,而且还开源!这无疑是广大GISer的福音。不过由于其复杂性,在编译及使用中也会有种种问题。GDAL暂且不谈,就笔者目前主要用到的OGR而言,对中文的支持就是个大问题,表现形式多种多样:中文路径不支持、中文字段不支持、中文属性乱码、中文路径偶尔可用(字符奇数和偶数问题)、、、balabala一大堆,网上对...原创 2019-11-28 00:45:37 · 1721 阅读 · 3 评论 -
AutoCAD.NET文档事件:DocumentActivationChanged
关于DocumentCollection 的 DocumentActivationChanged 事件,查阅资料找到的解释是:活动文档窗口失活或销毁时触发。作为文档级别的事件,我理解的是要切换或者打开关闭文档才会触发该事件,所以在做层表事件响应的时候订阅了该事件,用以刷新图层列表。后来发现:在进行一些图元编辑操作(比如移动多段线节点啥)的时候,鼠标会异常卡顿。最开始很纳闷,以为是订阅了 Obje...原创 2019-11-24 18:10:35 · 1803 阅读 · 0 评论 -
AutoCAD.Net开发问题之:层表事件的响应(续)
之前在 AutoCAD.Net开发问题之:层表事件的响应 中,没找到直接响应层表的事件,就用了 Dababase 的 Object 相关事件来替代。在测试过程中发现监听图层变化的目的倒是达到了,但会严重影响编辑操作:绘图时,任何一个简单的操作都会触发大量事件,每次事件都涉及拆箱处理,一想到每个简单操作后台都如此"沉重",强迫症不能忍。几乎用度娘找遍了所有相关关键词,未果,最后还是谷歌给力,网上找...原创 2019-11-22 17:41:40 · 508 阅读 · 0 评论 -
AutoCAD.NET开发:PaletteSet
问题:通过代码修改图层状态(比如开关图层)后,绘图区不能实时更新图层状态,需要鼠标进入绘图区激活屏幕才会刷新,执行 Application.UpdateScreen() 方法也没用。方案:修改图层状态并提交事务后,先执行 TransactionManager.QueueForGraphicsFlush() ,再执行 UpdateScreen 即可。问题:通过代码修改图层状态(比如...原创 2019-11-21 23:55:19 · 3253 阅读 · 0 评论 -
AutoCAD.Net开发问题之:层表事件的响应
起因最近想仿照 ArcGIS 的内容列表窗口做个 CAD 的图层管理器,方便图层数据管理。主要实现一些图层常用操作:缩放图层、打开属性表、加载外部数据、导出数据等。为了保证和系统图层的一致联动,图层管理要响应一大堆事件:软件初始化加载、文档焦点切换、图层添加删除、层表修改之类。问题描述CAD用层表(LayerTable)记录图层,遍历层表可以获得层表记录(LayerTableRecor...原创 2019-11-20 23:13:52 · 607 阅读 · 1 评论 -
Cad.Net开发问题:可停靠面板无法使用下拉列表
Cad.Net开发问题:可停靠面板无法使用下拉列表问题描述解决方案最终解决方案参考资料问题描述CAD.Net开发过程中,可停靠面板(PaletteSet)如果包含下拉列表控件(ComboBox),则下拉列表可能无法正常使用,具体表现为:当PaletteSet的Dock属性不为DockSides.None时,下拉框会在移动鼠标时自动收回,无法选中。解决方案该问题可以通过设置PaletteSe...原创 2019-11-19 17:57:03 · 862 阅读 · 1 评论