zoukankan      html  css  js  c++  java
  • 探秘AutoCAD中的实体关联

    创建一个圆AcDbCircle和直线AcDbLine,创建一个圆半径与直线长度的关联。通过ARXDBG分析如下:

    AcDbCircle,句柄293,同时添加一个指向依赖AcDbAssocDependency的反应器,句柄29C
    AcDbLine,句柄294,同时添加一个指向依赖AcDbAssocDependency的反应器,句柄29B
    AcDbAssocActionBody,句柄295,这里很有意思,显示的是AcMgAssocActionBody,意思是托管里继承的动作块,同时两个组码1分别保存了库名、类名,(1 . "ztcad.Cad.Controllers.AssocController+MyActionBody") 
    (1 . "D:\ztcad\bin\sys19x64\ztcad.Cad.dll"))
    AcDbAssocAction,句柄296,同时添加一个指向网络AcDbAssocNetwork的反应器,句柄298,添加一个指向动作块AcDbAssocActionBody的反应器,句柄295,添加两个指向依赖AcDbAssocDependency的引用,句柄29B、29C
    AcDbDictionary,句柄297,同时添加一个指向模型空间的反应器,句柄1CE,添加一个指向网络AcDbAssocNetwork的引用,句柄298
    AcDbAssocNetwork,句柄298,同时添加一个指向词典的反应器,句柄297,添加一个指向动作AcDbAssocAction的引用,句柄296
    AcDbDictionary,句柄299,同时添加一个指向词典的反应器,句柄C,添加一个指向网络AcDbAssocNetwork的引用,句柄29A
    AcDbAssocNetwork,句柄29A,同时添加一个指向词典的反应器,句柄299,添加一个指向网络AcDbAssocNetwork的引用,句柄298
    AcDbAssocDependency,句柄29B,同时添加一个指向动作的反应器,句柄296,添加一个指向直线的反应器,句柄294
    AcDbAssocDependency,句柄29C,同时添加一个指向动作的反应器,句柄296,添加一个指向圆的反应器,句柄293 

    如图:

     我们通过继承ActionBody,最终实现了关联的结构。

  • 相关阅读:
    xfs(dm-3):please umount the filesystem and rectify the problem(s)
    解决 pcre-8.35 make[2]: *** [aclocal.m4] Error 127
    redis-4.0.6 编译安装
    nginx出错:rewrite or internal redirection cycle
    17个技巧
    go-fastdfs/go-fastdfs-web
    Win X86 时间同步
    关闭或启动linux防火墙后,docker启动容器报错问题解决方式
    Nginx 重定向 443
    Docker 容器和宿主机相互拷贝文件
  • 原文地址:https://www.cnblogs.com/ztcad/p/15257524.html
Copyright © 2011-2022 走看看