明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 480|回复: 2

AcgeEntity 从底层 由 2d 转为 3d ,并提供1个 AcGeImpEntity3d.h

  [复制链接]
发表于 2025-12-13 10:20:57 | 显示全部楼层 |阅读模式
  1. #pragma once

  2. //
  3. // (C) Copyright 2005-2024 by Graebert GmbH.
  4. //
  5. // Permission to use, copy, modify, and distribute this software in
  6. // object code form for any purpose and without fee is hereby granted,
  7. // provided that the above copyright notice appears in all copies and
  8. // that both that copyright notice and the limited warranty and
  9. // restricted rights notice below appear in all supporting
  10. // documentation.
  11. //
  12. // GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
  13. // GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
  14. // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  GRAEBERT GMBH
  15. // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
  16. // UNINTERRUPTED OR ERROR FREE.

  17. #include <gegblabb.h>
  18. class AcGeEntity2d;
  19. class AcGeEntity3d;
  20. class AcGeImpPlanarEnt;
  21. class AcGePoint3d;
  22. class AcGeVector3d;
  23. class AcGeEntity3dImpl;

  24. class  AcGeImpEntity3d
  25. {
  26. public:
  27.   GE_DLLEXPIMPORT AcGeImpEntity3d(AcGeImpEntity3d const&);
  28.   GE_DLLEXPIMPORT AcGeImpEntity3d(void);
  29.   GE_DLLEXPIMPORT operator AcGeEntity3d(void)const;
  30.   GE_DLLEXPIMPORT AcGeEntity2d* entity2d(Adesk::Boolean)const;
  31.   GE_DLLEXPIMPORT AcGeEntity3d* entity3d(Adesk::Boolean)const;
  32.   GE_DLLEXPIMPORT AcGeImpEntity3d& operator=(AcGeImpEntity3d const&);
  33.   GE_DLLEXPIMPORT AcGeImpEntity3d& setEntity2d(AcGeEntity2d*, AcGe::EntityId);
  34.   GE_DLLEXPIMPORT AcGeImpEntity3d& setEntity3d(AcGeEntity3d*, AcGe::EntityId);
  35.   GE_DLLEXPIMPORT AcGe::EntityId  entityType(void)const;
  36.   GE_DLLEXPIMPORT Adesk::Boolean  operator!=(AcGeImpEntity3d const&)const;
  37.   GE_DLLEXPIMPORT Adesk::Boolean  operator==(AcGeImpEntity3d const&)const;
  38.   GE_DLLEXPIMPORT static  AcGeImpEntity3d* __cdecl impEntity3d(AcGeEntity2d const&);
  39.   GE_DLLEXPIMPORT static  AcGeImpEntity3d* __cdecl impEntity3d(AcGeEntity3d const&);
  40.   GE_DLLEXPIMPORT virtual  ~AcGeImpEntity3d(void);
  41.   GE_DLLEXPIMPORT virtual  AcGeImpEntity3d& mirror(AcGeImpPlanarEnt const&);
  42.   GE_DLLEXPIMPORT virtual  AcGeImpEntity3d& rotateBy(double, AcGeVector3d const&, AcGePoint3d const&);
  43.   GE_DLLEXPIMPORT virtual  AcGeImpEntity3d& scaleBy(double, AcGePoint3d const&);
  44.   GE_DLLEXPIMPORT virtual  AcGeImpEntity3d& translateBy(AcGeVector3d const&);
  45.   GE_DLLEXPIMPORT virtual void* getExternalEntity(void)const;
  46.   GE_DLLEXPIMPORT virtual void* getLinkedExternalEntity(void)const;
  47.   GE_DLLEXPIMPORT void  setDeleteApiObj(Adesk::Boolean);
  48.   GE_DLLEXPIMPORT void  setEntityType(AcGeImpEntity3d&, AcGe::EntityId, AcGe::EntityId)const;

  49. public:
  50.   virtual Adesk::Boolean isGeometricallyEqual(AcGeImpEntity3d const&, AcGeTol const&)const;
  51.   virtual Adesk::Boolean isKindOf(enum AcGe::EntityId, Adesk::Boolean)const;
  52.   static const AcGeEntity3dImpl* getImpl(const AcGeEntity3d* pEnt);
  53.   static AcGeEntity3dImpl* getImpl(AcGeEntity3d* pEnt);
  54.   static AcGeEntity3d* createEntityForImpl(AcGeImpEntity3d* pImpl);
  55. };
复制代码
将这个头文件 放在ARX 的 inc 目录,官方并未提供这个IMP对应接口,参考了https://docs.dev.graebert.com/html/2025.0.1/frx/files.html 网站SDK ,这个网站的接口十分全面,稍加修改可以看到很多隐藏接口




回复

使用道具 举报

发表于 2025-12-14 01:14:28 | 显示全部楼层
有点东西啵
回复 支持 反对

使用道具 举报

发表于 2025-12-15 10:15:45 | 显示全部楼层
有点东西啵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2026-1-8 00:25 , Processed in 0.185788 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表