lst0426
埋骨何须桑梓地,人生无处不青山。
展开
-
【copy_dwg_files.bat】
这个脚本将遍历当前文件夹及其所有子文件夹,查找名为 施工图 的文件夹,并在每个找到的文件夹所在路径创建 Calculate 文件夹(如果不存在),然后将所有 .dwg 文件复制到相应的 Calculate 文件夹中。这个脚本会递归查找名为 施工图 的文件夹,并在每个找到的文件夹所在路径创建 Calculate 文件夹(如果不存在),然后将所有 .dwg 文件复制到相应的 Calculate 文件夹中,同时避免复制脚本自身。首先,检查是否能够递归找到名为 施工图 的文件夹,并打印这些文件夹的路径。原创 2024-06-07 22:07:26 · 163 阅读 · 0 评论 -
使用Vscode运行leetcode需要插件
VS Marketplace 链接: https://marketplace.visualstudio.com/items?VS Marketplace 链接: https://marketplace.visualstudio.com/items?说明: C/C++ IntelliSense, debugging, and code browsing.名称: Fitten Code: Faster and Better AI Assistant。发布者: 力扣 LeetCode。原创 2024-05-19 21:25:46 · 192 阅读 · 0 评论 -
vs2005资源文件如何使用utf-8
如果您的 .rc 文件已经是 UTF-8 编码并且包含非 ASCII 字符,您可能需要将它转换为 UTF-16 LE 编码,这是 Visual Studio 2005 可以更好地识别和处理的编码格式。遗憾的是,Visual Studio 2005 的资源编译器不原生支持 UTF-8 编码的资源文件。这样,Visual Studio 会自动处理字符串的编码问题。使用第三方资源编辑器创建和编辑资源文件,这些编辑器可能对 UTF-8 支持得更好,然后再将资源文件导入到 Visual Studio 2005 中。原创 2023-12-21 14:28:46 · 567 阅读 · 0 评论 -
使用acedGetPoint获取点坐标时,如果直接获取点,然后创建实体位置正确,如果是通过捕捉获取的点,则不对
使用acedGetPoint获取点坐标时,如果直接获取点,然后创建实体位置正确,如果是通过捕捉获取的点,则不对,如何处理。原创 2023-12-17 13:17:35 · 510 阅读 · 0 评论 -
AcGeLinearEnt2d::getPerpLine函数
AcGeLinearEnt2d::getPerpLine函数是AutoCAD图形库(AutoCAD Geometry Library,即AcGe)中的一个成员函数,用于获取一个通过指定点且垂直于当前直线或线性实体的无限长直线。举个例子,如果你有一条直线A和一个点B,你想要创建一条新的直线C,使得C垂直于A并且通过点B,你就可以使用getPerpLine函数来实现这个目的。在AutoCAD的应用程序开发中,这个函数可以用来自动创建辅助线或者进行几何计算,比如在特定点创建一个垂直于已有结构的新结构。原创 2023-12-07 23:55:29 · 425 阅读 · 0 评论 -
Adesk::Boolean CMultiEntityEx::subWorldDraw( AcGiWorldDraw* mode )什么情况下mode 为空
在任何情况下,作为最佳实践,你的subWorldDraw实现应该检查mode是否为空,并且在这种情况下适当地处理,例如返回Adesk::kFalse。mode指针为空的情况通常是不正常的,这可能意味着内部错误或者调用环境有问题。在AutoCAD的API中,并没有明确指出会有哪些情况会导致mode为空,因为在正常操作下,AutoCAD绘图管线应该总是提供一个有效的上下文。版本不兼容:如果你的ObjectARX代码是为旧版本的AutoCAD编写的,并在新版本中运行,API的变化可能导致意外行为。原创 2023-12-07 21:40:52 · 452 阅读 · 0 评论 -
acdbRToS 函数
函数将一个浮点数值 val 格式化为一个字符串,并将结果存储在 str 中。格式化的字符串的单位和精度由 unit 和 prec 参数指定。acdbRToS 函数将根据 AutoCAD 的 DIMZIN 尺寸变量的当前值,决定在结果字符串 str 中如何处理前导或尾随零。unit:将字符串格式化为的单位,作为有效的 AutoCAD LUNITS 值;acdbRToS 函数是 AutoCAD 中的一个函数,用于将浮点数值格式化为字符串。str:格式化后的字符串的输出结果。val:要格式化的值。原创 2023-11-24 13:39:19 · 478 阅读 · 0 评论 -
acedInitGet 函数
extern “C”:指定函数使用 C 语言链接(linkage),这防止了 C++ 编译器改变函数名(即 name mangling)。acedInitGet 函数是 AutoCAD 的 C++ API(ObjectARX)中用于初始化下一次用户输入操作选项的函数。请注意,未来版本的 AutoCAD 或 ARX 可能会使用额外的 acedInitGet 控制位,因此避免设置表格中未显示的位。int val:这是控制位参数,用于指定用户输入的行为。RSG_NOZERO (2):不允许零值输入。原创 2023-11-24 12:13:47 · 513 阅读 · 0 评论 -
内部错误: !scandr.cpp@815: eWasOpenForWrite
如果您在调用close()之前对块记录进行了任何修改,尝试将这些修改保存到数据库中,然后再关闭块记录。确保在调用close()方法之前,没有其他地方对块记录进行了打开或修改。如果在其他地方对块记录进行了打开或修改操作,尝试关闭或撤销这些操作,然后再关闭块记录。这个错误通常表示在尝试关闭块记录时发生了一些问题,导致无法成功关闭。可能的原因包括块记录已经处于"打开"状态,或者在关闭块记录时发生了一些其他错误。如果您无法解决这个问题,建议您提供更多的代码细节和上下文,以便我们能够更好地帮助您解决问题。原创 2023-11-20 20:59:14 · 248 阅读 · 0 评论 -
【ARX项目lib依赖默认使用情况分析】
arxheaders.h包含 dbxheaders.h ,所以arx项目常用lib如下。默认情况下arx向导生成的项目包含arxheaders.h即可使用大部分lib文件。以下是ARX2022的头文件分析,未使用的lib需要手动添加依赖。lib文件在arxheaders.h中包含的情况分析。ARX项目lib依赖默认使用情况分析。转载 2023-11-14 12:04:03 · 147 阅读 · 0 评论 -
acedGetKword关键字使用例子
【代码】acedGetKword关键字使用例子。原创 2023-11-14 11:58:50 · 157 阅读 · 0 评论 -
acedGetInput( ACHAR * str); str Pointer to the result buffer
如果成功,函数返回RTNORM;如果当前命令是使用ACRX_CMD_INTERRUPTIBLE标志注册的,并且文档收到了来自AcApDocManager::sendModelessInterrupt()调用的无模态中断信号,则返回RTMODELESS。这个函数只有在紧随用户输入函数调用之后才有意义,且之前的调用必须返回RTKWORD(或者在acedDragGen中返回RTSTR)。它截断用户输入中超过131个字符的部分,并将最多132个字符的结果存储在指定的缓冲区中(第132个位置保留给空字符)。原创 2023-11-14 11:49:55 · 136 阅读 · 0 评论 -
LAYLOCKFADECTL
要设置 “LAYLOCKFADECTL” 变量,你可以使用 AutoCAD 的命令行或者界面来进行操作。在命令行中输入 “LAYLOCKFADECTL”,然后输入 0 或 1 来分别禁用或启用淡入淡出效果。在界面中,你可以通过图层管理器或者选项设置中找到相应的选项来进行设置。“LAYLOCKFADECTL” 是 AutoCAD 中的一个系统变量,用于控制图层锁定时的淡入淡出效果。这个设置可以影响到在 AutoCAD 中进行图层锁定时的外观效果,特别是当涉及到图层的显示状态切换时。原创 2023-11-10 14:51:40 · 114 阅读 · 0 评论 -
acedGetString 函数
如果用户输入超过 133 个字符,输入会继续直到用户输入了空格或者 [Return](根据 cronly 参数的设置),但 acedGetString 只会将前 133 个字符存储到 result 中。如果用户输入的字符数超过 133 个,输入会持续进行,直到用户输入了空格或者 [Return](根据 cronly 参数的设置)。综合以上信息,acedGetString 函数的作用是获取用户输入的字符串,可以根据需要进行相应的处理,并且支持各种情况下的输入限制和提示。原创 2023-11-09 14:02:45 · 237 阅读 · 0 评论 -
嵌套事务!!
注意:如果此时中止,事务 2 和 3 都将被取消。如果中止包含事务,则所有嵌套事务都将中止,即使它们已成功结束。开始事务 3(再次):沿Y/Z平面将形状切成两半,然后沿Y 移动。沿X/Z平面将形状切成两半,然后沿X轴移动,以便查看这两个部分。开始事务 2:从挤压中减去圆柱体(在固体中间创建一个孔)。选择多边形并获取指向它的指针。下面的示例包括三个嵌套事务。创建一个多边形并将其发布到数据库。在扩展多边形的中间创建一个圆柱体。使用多边形创建拉伸实体。原创 2023-10-31 15:36:35 · 80 阅读 · 0 评论 -
CAdUiPaletteSet与CAdUiPalette什么关系 2023/10/17 下午1:20:09
在使用这些类时,您需要引入相应的头文件并链接相应的库。CAdUiPaletteSet 则是用来管理多个自定义面板的集合,可以将多个 CAdUiPalette 面板添加到一个集合中,并提供对集合的管理和控制。如果您需要同时管理多个自定义面板,可以使用 CAdUiPaletteSet 类来创建面板集合,将多个面板添加到集合中,并对集合进行操作。CAdUiPalette 是用来创建一个单独的自定义面板,可以添加到 AutoCAD 的界面中,提供自定义的功能和交互元素。2023/10/17 下午1:20:09。原创 2023-10-17 13:21:17 · 223 阅读 · 0 评论 -
【无标题设置所有有图层颜色为黑色 ,未验证】
【代码】【无标题设置所有有图层颜色为黑色 ,未验证】原创 2023-09-01 22:44:36 · 56 阅读 · 0 评论 -
【无标题CAdUiPaletteSet】
【代码】【无标题CAdUiPaletteSet】原创 2023-09-01 20:06:22 · 498 阅读 · 0 评论 -
创建新的布局 创建一个图纸空间视口
【代码】创建新的布局 创建一个图纸空间视口。原创 2023-08-16 17:12:27 · 152 阅读 · 0 评论 -
【无标题】反应器
【代码】【无标题】反应器。原创 2023-08-12 21:30:48 · 239 阅读 · 0 评论 -
删除块参照 删除块定义
【代码】删除块参照 删除块定义。原创 2023-08-12 21:20:27 · 235 阅读 · 0 评论 -
arx 外部参照文件(XREF)的添加、删除、卸载和重载_objectarx
【代码】arx添加参照。原创 2023-08-12 21:14:53 · 512 阅读 · 0 评论 -
arx 错误处理entswerr_dg
【代码】entswerr_dg。原创 2023-08-07 22:20:34 · 154 阅读 · 0 评论 -
AsdkPlotAPI
官方打印相关 的api例子。原创 2023-08-07 21:51:03 · 81 阅读 · 0 评论 -
选择块参照中嵌套的实体
这个问题的难点是:如何判断用户选中的实体到底是块参照里面的非嵌套对象实体?还是块参照中嵌套的块参照的实体?本文利用全局函数acedNEnsSelP解决了这个问题,并可实现:如果用户选择块参照中嵌套的实体,直接视为用户选择了这个嵌套的块参照,效果如图。利用acedNEntSelP参数中最后的链表参数,查看选择对象的各级嵌套块参照,并对块参照进行坐标变换,将其坐标转为当前图形的WCS坐标。const ACHAR * str:在选择块参照中实体时的提示语,如果为NULL,AutoCAD 显示默认的提示语。原创 2023-07-30 20:04:32 · 400 阅读 · 0 评论 -
打开、关闭、锁定和解锁图层
在 ObjectARX 中,可以使用 AcDbLayerTable 类来打开、关闭、锁定和解锁图层。请注意,上述代码仅为示例,实际使用时需要根据具体需求进行适当修改。原创 2023-07-29 20:33:35 · 295 阅读 · 0 评论 -
计算从曲线的起点到param指定的点的曲线段的长度
如果成功则返回Acad::eOk, 如果param超出范围则返回Acad::eInvalidInput。对于其他错误, 实现者必须决定使用什么返回值。有关可能的ErrorStatus值, 请参阅acdb.h头文件。默认情况下, 该函数返回Acad::eNotImplemented。派生类中此函数的实现应返回, 并将endParam设置为曲线端点的参数。在默认实现中, 该函数返回Acad::eNotImplemented。计算从曲线的起点到param指定的点的曲线段的长度。如果成功则返回Acad::eOk。原创 2023-07-29 08:05:22 · 307 阅读 · 0 评论 -
ObjectArx 设置填充透明度问题
90,且经过测试发现,传入值与特性面板显示的值也是不同的,比如传入90,显示64,百度搜索了个寂寞,最后还是在谷歌找到了答案,原来设置的值和特性面板显示的值有个转换关系:int alpha = (int)(((255 - value) * 100) / 255);初始化透明度参数AcCmTransparency对象时,需要调用setAlpha设置透明度值,这里传入的值是0。这样就能和特性面板上的值对应上了。(不过整数除法可能会丢失精度,肯能会有1误差)所以要在设置透明度之前把值做下转换,像这样。原创 2023-07-29 08:01:43 · 203 阅读 · 0 评论 -
【块元素显示排序】
对象ID是要绘制的实体的对象ID, 并且句柄是块表记录中的实体的句柄(通常但不总是与关联的对象ID不同), 其表示绘制顺序中的位置。当在块表记录中绘制实体时, 迭代器以附加顺序遍历块表记录。例如, 块表记录具有五个具有以下句柄的实体(通常表示为表示十六进制数字的字符串):4A, 4B, 4C, 4D, 4E。当应用程序在默认方向上迭代块表记录中的实体时, 句柄值总是从一个实体增加到next实体。作为另一示例, 空间中的最后一个实体在空间中的倒数第二个实体“下”移动, 但其余实体以“自然”顺序绘制。原创 2023-07-29 07:56:42 · 296 阅读 · 0 评论 -
【自定义图库】
首先,如果用MFC拖控件的办法,最简单也最方便,用static或者用picture控件,把bmp贴进去就好了,双击控件的时候,关闭 对话框,然后给cad发送命令就可以了,方便,简单。不好的地方在于自己做bmp图是有大有小的,bmp图贴到控件中的时候, 会有缩放,bmp本来就不是质量很高的图形文件,就会出现失真。那么看来最简单的是用sld来做图库了,cad本身也支持这个,搭配mnu菜单文件,就可以很好的实现图库功能,当然,用这 个做图库,最大的问题是需要你自己做一个完美的sld文件才行,不然也是很丑的。原创 2023-07-28 14:28:33 · 264 阅读 · 0 评论 -
objectarx编译Debug版arx遇到的问题
1>pietdoginterface_s.lib(Msg.obj) : error LNK2001: 无法解析的外部符号 “class ATL::CTraceCategory ATL::atlTraceException” (?1>pietdoginterface_s.lib(Msg.obj) : error LNK2001: 无法解析的外部符号 “public: static class ATL::CTrace ATL::CTrace:😒_trace” (?原创 2023-07-28 13:36:42 · 213 阅读 · 0 评论 -
AcDbText获取插入点
【代码】objectarx二次开发,文字实体AcDbText获取插入点不准确的问题。原创 2023-07-28 13:32:37 · 128 阅读 · 0 评论 -
ObjectARX中反应器的使用
永久反应器是一个数据库的对象,由开发者创建并由AutoCAD负责删除,永久反应器可以接收及发送消息,可以被保存到DWG和DXF文件中,当图纸被加载的时候会重建永久反应器。临时反应器本身不是数据库对象,由开发者负责临时反应器的注册和卸载,用来监控数据库事件、用户操作以及其他的程序运行时的系统事件。反应器列表:在反应器可以从通知者处接收消息之前,必须显式地将反应器添加到通知者的反应器列表中。根据反应器的基本性质,反应器被分为临时反应器和永久反应器。删除实体的公里标对象,使用永久反应器实现联动功能。原创 2023-07-20 23:14:16 · 428 阅读 · 0 评论 -
AutoCAD注册表路径
AutoCAD注册表路径。原创 2023-07-18 11:47:20 · 1038 阅读 · 0 评论 -
CGAL最小外包矩形
有两种所谓的最小外包矩形,第一种通过求所有节点的最小与最大xy来求的,这种叫与坐标轴平行的最小外包矩形;版权声明:本文为CSDN博主「键盘独行侠」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/ljp341621/article/details/81908092。/// 这里做测试,只选中LWPOLYLINLE,也就是CAD中的多段线实体。原创 2023-07-11 23:43:14 · 296 阅读 · 0 评论 -
【ObjectARX(C++)-CAD二次开发调试方法】
原文链接:https://blog.csdn.net/qq_40416052/article/details/90695534。4.修改调试选项的命令栏处的路径,路径为安装的CAD的安装路径中的 acad.exe文件。项目->属性->配置属性->C/C++ ->常规 ->调试信息格式。5).工具->选项->调试->要求与原始版本完成匹配 去掉勾选。项目->属性->配置属性->链接器->调试->生成调试信息。项目->属性->配置属性->C/C++ ->优化。2). 设置生成调试信息为:是(/DEBUG)转载 2023-07-06 23:47:59 · 975 阅读 · 0 评论 -
DBG CMD命令
【代码】DBG CMD命令。原创 2023-07-04 20:34:35 · 192 阅读 · 0 评论 -
记录一个arx卸载后cad崩溃的问题
一个arx原来卸载都没问题的后来加了点东西,然后卸载就出现问题,这个版本是vs05,arx2008,原来是在附加依赖多加了。acadminidump.dmp出来三个这样的提示。记录一个arx卸载后cad崩溃的问题。原创 2023-07-02 22:26:31 · 357 阅读 · 0 评论 -
error C2664: “AcApDocManager::sendStringToExecute” : 不能将参数 2
error C2664: “AcApDocManager::sendStringToExecute” : 不能将参数 2 从“ATL::CStringT”转换为“const char *”原创 2023-06-24 14:05:44 · 158 阅读 · 0 评论 -
用VS2010开发AutoCAD2006对应的arx文件
图(12)设置附加依赖项:rxapi.lib acdb16.lib acge16.lib acad.lib acedapi.lib(一共5个),10)在【浏览信息】/【常规】,设置输出文件:.\Debug2006/$(TargetName).bsc(注意中间的一个斜杠与第一个斜杠不同)在【链接】/【调试】,设置“生成程序数据库文件”: .\Debug2006/ArxProj4.pdb (注意中间的一个斜杠与第一个斜杠不同)在【链接】/【调试】,设置导入库:.\Debug2006/ArxProj4.lib。原创 2023-06-24 11:33:36 · 582 阅读 · 1 评论