lst0426
埋骨何须桑梓地,人生无处不青山。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UCS与WCS转换
AcDbMText::rotation setRotation 这里的角度是相对于UCS的x轴,所以需要处理,特别注意。查了下doc,凡是通过交互得到的点都是UCS坐标。于是,将所有交互得到的点都转为WCS下的坐标。acquirePoint 注意,该函数返回的是WCS中的点,不需要处理。acedGetAngle 角度是相对于UCS中的x轴,所以也需要处理。原创 2025-12-28 18:03:19 · 1 阅读 · 0 评论 -
常用的API接口中传入/返回的参数所对应的坐标系类型
一、AcDbEntity实体类传入参数:(原创 2025-12-28 18:01:53 · 2 阅读 · 0 评论 -
输出结果和读取结果
标注19: 旋转角=0.555229弧度(31.81°), dimLinePoint=(3010908.55,-783132.89,-0.00)标注20: 旋转角=0.555229弧度(31.81°), dimLinePoint=(3008925.73,-784362.88,-0.00)标注21: 旋转角=0.555229弧度(31.81°), dimLinePoint=(3008359.21,-784714.30,-0.00)原创 2025-12-24 21:40:09 · 9 阅读 · 0 评论 -
【如何向ai提问,ai快速添加mfc资源】
ai快速添加mfc资源原创 2025-12-22 22:39:23 · 62 阅读 · 0 评论 -
ObjectArx 事务封装
使用示例说明:事务管理:原创 2025-12-16 15:05:36 · 28 阅读 · 0 评论 -
【AcDbDimension 标注学习整理相关】
如何通过ObjectARX API获取AutoCAD标注实体的各种属性信息。首先通过用户交互选择标注对象,然后依次获取并输出以下信息:对象句柄、类名、引用的块表记录名称、标注位置坐标、标注样式名、标注文本内容、文字和箭头排列方式、单位类型、平面距离、箭头翻转状态、尺寸线和界线的线型等。对于线性标注还额外获取水平旋转值、定义点坐标、倾斜角和旋转角度等特定属性。整个流程包括对象选择、打开、类型判断、属性查询和结果输出等步骤,并正确处理了各类错误情况。原创 2025-12-16 14:44:58 · 78 阅读 · 0 评论 -
【c++ arx 选项板2】
该代码的主要功能是创建一个自定义的面板集 CMyPaletteSet,并在其中添加一个工具栏子面板 CTunnelSectionPaletteEx。创建一个名为 g_PaletteEx 的新的子面板 CTunnelSectionPaletteEx 对象,并将其设置为可见的子窗口,标题为 “ToolBar”,并将其归属于之前创建的 g_pMyPaletteSet。这将设置面板的左上角为 (0, 0),宽度为 150,高度为 400。将创建的子面板 g_PaletteEx 添加到自定义的面板集中,以便于管理。原创 2024-10-21 22:21:20 · 234 阅读 · 0 评论 -
【c++ arx选项板】
这段代码用于切换选项板的可见性。如果当前选项板是可见的(即 bPaletteExSetVisible 为 true),则将其设置为不可见,并更新 bPaletteExSetVisible 为 false。这段代码定义了一个静态函数 xlArx gmenu,其主要功能是管理一个名为 g_pPaletteSetEx 的选项板的可见性。这两行代码将选项板的可见性设置为 true,并将全局变量 bPaletteExSetVisible 设置为 TRUE,表示选项板当前是可见的。如果为空,表示选项板尚未实例化。原创 2024-10-21 22:03:40 · 256 阅读 · 0 评论 -
找不到导入的项目“D:\10multiVersionARXDBG
【代码】找不到导入的项目“D:\10multiVersionARXDBG。原创 2024-10-10 14:22:07 · 226 阅读 · 0 评论 -
【copy_dwg_files.bat】
这个脚本将遍历当前文件夹及其所有子文件夹,查找名为 施工图 的文件夹,并在每个找到的文件夹所在路径创建 Calculate 文件夹(如果不存在),然后将所有 .dwg 文件复制到相应的 Calculate 文件夹中。这个脚本会递归查找名为 施工图 的文件夹,并在每个找到的文件夹所在路径创建 Calculate 文件夹(如果不存在),然后将所有 .dwg 文件复制到相应的 Calculate 文件夹中,同时避免复制脚本自身。首先,检查是否能够递归找到名为 施工图 的文件夹,并打印这些文件夹的路径。原创 2024-06-07 22:07:26 · 420 阅读 · 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 · 471 阅读 · 0 评论 -
如何使用chatgpt修改代码
现在,如果你有具体的代码需要帮助,可以提供详细信息,我会尽力帮助你进行修改。原创 2024-04-27 13:30:11 · 840 阅读 · 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 · 747 阅读 · 0 评论 -
使用acedGetPoint获取点坐标时,如果直接获取点,然后创建实体位置正确,如果是通过捕捉获取的点,则不对
使用acedGetPoint获取点坐标时,如果直接获取点,然后创建实体位置正确,如果是通过捕捉获取的点,则不对,如何处理。原创 2023-12-17 13:17:35 · 714 阅读 · 0 评论 -
AcGeLinearEnt2d::getPerpLine函数
AcGeLinearEnt2d::getPerpLine函数是AutoCAD图形库(AutoCAD Geometry Library,即AcGe)中的一个成员函数,用于获取一个通过指定点且垂直于当前直线或线性实体的无限长直线。举个例子,如果你有一条直线A和一个点B,你想要创建一条新的直线C,使得C垂直于A并且通过点B,你就可以使用getPerpLine函数来实现这个目的。在AutoCAD的应用程序开发中,这个函数可以用来自动创建辅助线或者进行几何计算,比如在特定点创建一个垂直于已有结构的新结构。原创 2023-12-08 22:29:51 · 554 阅读 · 0 评论 -
AcGeLinearEnt2d::getPerpLine函数
AcGeLinearEnt2d::getPerpLine函数是AutoCAD图形库(AutoCAD Geometry Library,即AcGe)中的一个成员函数,用于获取一个通过指定点且垂直于当前直线或线性实体的无限长直线。举个例子,如果你有一条直线A和一个点B,你想要创建一条新的直线C,使得C垂直于A并且通过点B,你就可以使用getPerpLine函数来实现这个目的。在AutoCAD的应用程序开发中,这个函数可以用来自动创建辅助线或者进行几何计算,比如在特定点创建一个垂直于已有结构的新结构。原创 2023-12-07 23:55:29 · 509 阅读 · 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 · 651 阅读 · 0 评论 -
acdbRToS 函数
函数将一个浮点数值 val 格式化为一个字符串,并将结果存储在 str 中。格式化的字符串的单位和精度由 unit 和 prec 参数指定。acdbRToS 函数将根据 AutoCAD 的 DIMZIN 尺寸变量的当前值,决定在结果字符串 str 中如何处理前导或尾随零。unit:将字符串格式化为的单位,作为有效的 AutoCAD LUNITS 值;acdbRToS 函数是 AutoCAD 中的一个函数,用于将浮点数值格式化为字符串。str:格式化后的字符串的输出结果。val:要格式化的值。原创 2023-11-24 13:39:19 · 569 阅读 · 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 · 696 阅读 · 0 评论 -
内部错误: !scandr.cpp@815: eWasOpenForWrite
如果您在调用close()之前对块记录进行了任何修改,尝试将这些修改保存到数据库中,然后再关闭块记录。确保在调用close()方法之前,没有其他地方对块记录进行了打开或修改。如果在其他地方对块记录进行了打开或修改操作,尝试关闭或撤销这些操作,然后再关闭块记录。这个错误通常表示在尝试关闭块记录时发生了一些问题,导致无法成功关闭。可能的原因包括块记录已经处于"打开"状态,或者在关闭块记录时发生了一些其他错误。如果您无法解决这个问题,建议您提供更多的代码细节和上下文,以便我们能够更好地帮助您解决问题。原创 2023-11-20 20:59:14 · 459 阅读 · 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 · 302 阅读 · 0 评论 -
acedGetKword关键字使用例子
【代码】acedGetKword关键字使用例子。原创 2023-11-14 11:58:50 · 362 阅读 · 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 · 295 阅读 · 0 评论 -
LAYLOCKFADECTL
要设置 “LAYLOCKFADECTL” 变量,你可以使用 AutoCAD 的命令行或者界面来进行操作。在命令行中输入 “LAYLOCKFADECTL”,然后输入 0 或 1 来分别禁用或启用淡入淡出效果。在界面中,你可以通过图层管理器或者选项设置中找到相应的选项来进行设置。“LAYLOCKFADECTL” 是 AutoCAD 中的一个系统变量,用于控制图层锁定时的淡入淡出效果。这个设置可以影响到在 AutoCAD 中进行图层锁定时的外观效果,特别是当涉及到图层的显示状态切换时。原创 2023-11-10 14:51:40 · 245 阅读 · 0 评论 -
acedGetString 函数
如果用户输入超过 133 个字符,输入会继续直到用户输入了空格或者 [Return](根据 cronly 参数的设置),但 acedGetString 只会将前 133 个字符存储到 result 中。如果用户输入的字符数超过 133 个,输入会持续进行,直到用户输入了空格或者 [Return](根据 cronly 参数的设置)。综合以上信息,acedGetString 函数的作用是获取用户输入的字符串,可以根据需要进行相应的处理,并且支持各种情况下的输入限制和提示。原创 2023-11-09 14:02:45 · 483 阅读 · 0 评论 -
嵌套事务!!
注意:如果此时中止,事务 2 和 3 都将被取消。如果中止包含事务,则所有嵌套事务都将中止,即使它们已成功结束。开始事务 3(再次):沿Y/Z平面将形状切成两半,然后沿Y 移动。沿X/Z平面将形状切成两半,然后沿X轴移动,以便查看这两个部分。开始事务 2:从挤压中减去圆柱体(在固体中间创建一个孔)。选择多边形并获取指向它的指针。下面的示例包括三个嵌套事务。创建一个多边形并将其发布到数据库。在扩展多边形的中间创建一个圆柱体。使用多边形创建拉伸实体。原创 2023-10-31 15:36:35 · 168 阅读 · 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 · 439 阅读 · 0 评论 -
【无标题设置所有有图层颜色为黑色 ,未验证】
【代码】【无标题设置所有有图层颜色为黑色 ,未验证】原创 2023-09-01 22:44:36 · 115 阅读 · 0 评论 -
【无标题CAdUiPaletteSet】
【代码】【无标题CAdUiPaletteSet】原创 2023-09-01 20:06:22 · 620 阅读 · 0 评论 -
创建新的布局 创建一个图纸空间视口
【代码】创建新的布局 创建一个图纸空间视口。原创 2023-08-16 17:12:27 · 270 阅读 · 0 评论 -
【无标题】反应器
【代码】【无标题】反应器。原创 2023-08-12 21:30:48 · 290 阅读 · 0 评论 -
删除块参照 删除块定义
【代码】删除块参照 删除块定义。原创 2023-08-12 21:20:27 · 396 阅读 · 0 评论 -
arx 外部参照文件(XREF)的添加、删除、卸载和重载_objectarx
【代码】arx添加参照。原创 2023-08-12 21:14:53 · 728 阅读 · 0 评论 -
arx 错误处理entswerr_dg
【代码】entswerr_dg。原创 2023-08-07 22:20:34 · 219 阅读 · 0 评论 -
AsdkPlotAPI
官方打印相关 的api例子。原创 2023-08-07 21:51:03 · 145 阅读 · 0 评论 -
选择块参照中嵌套的实体
这个问题的难点是:如何判断用户选中的实体到底是块参照里面的非嵌套对象实体?还是块参照中嵌套的块参照的实体?本文利用全局函数acedNEnsSelP解决了这个问题,并可实现:如果用户选择块参照中嵌套的实体,直接视为用户选择了这个嵌套的块参照,效果如图。利用acedNEntSelP参数中最后的链表参数,查看选择对象的各级嵌套块参照,并对块参照进行坐标变换,将其坐标转为当前图形的WCS坐标。const ACHAR * str:在选择块参照中实体时的提示语,如果为NULL,AutoCAD 显示默认的提示语。原创 2023-07-30 20:04:32 · 587 阅读 · 0 评论 -
打开、关闭、锁定和解锁图层
在 ObjectARX 中,可以使用 AcDbLayerTable 类来打开、关闭、锁定和解锁图层。请注意,上述代码仅为示例,实际使用时需要根据具体需求进行适当修改。原创 2023-07-29 20:33:35 · 497 阅读 · 0 评论 -
计算从曲线的起点到param指定的点的曲线段的长度
如果成功则返回Acad::eOk, 如果param超出范围则返回Acad::eInvalidInput。对于其他错误, 实现者必须决定使用什么返回值。有关可能的ErrorStatus值, 请参阅acdb.h头文件。默认情况下, 该函数返回Acad::eNotImplemented。派生类中此函数的实现应返回, 并将endParam设置为曲线端点的参数。在默认实现中, 该函数返回Acad::eNotImplemented。计算从曲线的起点到param指定的点的曲线段的长度。如果成功则返回Acad::eOk。原创 2023-07-29 08:05:22 · 376 阅读 · 0 评论 -
ObjectArx 设置填充透明度问题
90,且经过测试发现,传入值与特性面板显示的值也是不同的,比如传入90,显示64,百度搜索了个寂寞,最后还是在谷歌找到了答案,原来设置的值和特性面板显示的值有个转换关系:int alpha = (int)(((255 - value) * 100) / 255);初始化透明度参数AcCmTransparency对象时,需要调用setAlpha设置透明度值,这里传入的值是0。这样就能和特性面板上的值对应上了。(不过整数除法可能会丢失精度,肯能会有1误差)所以要在设置透明度之前把值做下转换,像这样。原创 2023-07-29 08:01:43 · 317 阅读 · 0 评论 -
【块元素显示排序】
对象ID是要绘制的实体的对象ID, 并且句柄是块表记录中的实体的句柄(通常但不总是与关联的对象ID不同), 其表示绘制顺序中的位置。当在块表记录中绘制实体时, 迭代器以附加顺序遍历块表记录。例如, 块表记录具有五个具有以下句柄的实体(通常表示为表示十六进制数字的字符串):4A, 4B, 4C, 4D, 4E。当应用程序在默认方向上迭代块表记录中的实体时, 句柄值总是从一个实体增加到next实体。作为另一示例, 空间中的最后一个实体在空间中的倒数第二个实体“下”移动, 但其余实体以“自然”顺序绘制。原创 2023-07-29 07:56:42 · 410 阅读 · 0 评论
分享