块参照有个66组码,默认为0,有块属性的时候会标记为1,但是我把块属性移除后他依然是1,怎么能把它修改为默认值0?

网友答:
你有种再说一遍 发表于 2025-8-31 16:27
是否移除之后,BATTMAN更新同步了一次属性块?
如果没有,可能残留?

更新也没有用,据说这个组码是不可修改的。

网友答: 本帖最后由 gzxl 于 2025-8-31 21:24 编辑

这倒没试过。

acutBuildList
acdbEntMake
acdbEntMod

这样可以试试下。比如:
int status;
struct resbuf *entlist, result;
ads_point newpt;
entlist = acutBuildList(
    RTDXF0, "POLYLINE", // 实体类型
    62, 5, // 颜色 (蓝)
    6, "dashed",// 线型
    66, 1, // 顶点跟随
    0);
if (entlist == NULL)
{
    acdbFail("无法创建结果缓冲区列表\n");
    return;
}
status = acdbEntMake(entlist);
然后 acdbEntMod


网友答: 本帖最后由 你有种再说一遍 于 2025-8-31 19:00 编辑
bskidtf 发表于 2025-8-31 18:42
这思路可以,但我觉得专门这样做就没必要了

肯定没有专门吧,不是很通用吗?
下次还有什么分类直接加进去,反正也就是map["分类名"],
例如map["属性块"],map["动态块"],map["图框"],

而且你喜欢的话直接改为线程安全map,
实现影子数据库功能.
这样就不是存id了,而是存ent数据,方便你任何时候查询.

网友答: 直接改DXF就行。如果属性是从块定义删除的,也可以删除原块重新插入

网友答: 本帖最后由 你有种再说一遍 于 2025-8-31 16:30 编辑

是否移除之后,BATTMAN更新同步了一次属性块?
如果没有,可能残留?


网友答: 看不懂 但是打卡

网友答:
kozmosovia 发表于 2025-8-31 16:08
直接改DXF就行。如果属性是从块定义删除的,也可以删除原块重新插入

改不了,改了还是原来的1,不是0

网友答:
bskidtf 发表于 2025-8-31 17:57
更新也没有用,据说这个组码是不可修改的。

你浅克隆再看看呢?浅克隆可以把无关紧要的弱指针剥离...

网友答:
kozmosovia 发表于 2025-8-31 16:08
直接改DXF就行。如果属性是从块定义删除的,也可以删除原块重新插入

块定义里没有属性定义图元,是块参照创建时候加的属性

网友答:
你有种再说一遍 发表于 2025-8-31 17:59
你浅克隆再看看呢?浅克隆可以把无关紧要的弱指针剥离...

我不是想克隆,只想着怎么把原来的对象的这个组码改下,克隆不是我要的方法。所以就没考虑克隆的事儿

网友答:
bskidtf 发表于 2025-8-31 18:01
我不是想克隆,只想着怎么把原来的对象的这个组码改下,克隆不是我要的方法。所以就没考虑克隆的事儿

多了一个属性有啥不行吗?
  • 上一篇:天正引出/索引标注对齐
  • 下一篇:没有了