枫叶棋语 发表于 2025-12-13 10:20:57

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

#pragma once

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

#include <gegblabb.h>
class AcGeEntity2d;
class AcGeEntity3d;
class AcGeImpPlanarEnt;
class AcGePoint3d;
class AcGeVector3d;
class AcGeEntity3dImpl;

classAcGeImpEntity3d
{
public:
GE_DLLEXPIMPORT AcGeImpEntity3d(AcGeImpEntity3d const&);
GE_DLLEXPIMPORT AcGeImpEntity3d(void);
GE_DLLEXPIMPORT operator AcGeEntity3d(void)const;
GE_DLLEXPIMPORT AcGeEntity2d* entity2d(Adesk::Boolean)const;
GE_DLLEXPIMPORT AcGeEntity3d* entity3d(Adesk::Boolean)const;
GE_DLLEXPIMPORT AcGeImpEntity3d& operator=(AcGeImpEntity3d const&);
GE_DLLEXPIMPORT AcGeImpEntity3d& setEntity2d(AcGeEntity2d*, AcGe::EntityId);
GE_DLLEXPIMPORT AcGeImpEntity3d& setEntity3d(AcGeEntity3d*, AcGe::EntityId);
GE_DLLEXPIMPORT AcGe::EntityIdentityType(void)const;
GE_DLLEXPIMPORT Adesk::Booleanoperator!=(AcGeImpEntity3d const&)const;
GE_DLLEXPIMPORT Adesk::Booleanoperator==(AcGeImpEntity3d const&)const;
GE_DLLEXPIMPORT staticAcGeImpEntity3d* __cdecl impEntity3d(AcGeEntity2d const&);
GE_DLLEXPIMPORT staticAcGeImpEntity3d* __cdecl impEntity3d(AcGeEntity3d const&);
GE_DLLEXPIMPORT virtual~AcGeImpEntity3d(void);
GE_DLLEXPIMPORT virtualAcGeImpEntity3d& mirror(AcGeImpPlanarEnt const&);
GE_DLLEXPIMPORT virtualAcGeImpEntity3d& rotateBy(double, AcGeVector3d const&, AcGePoint3d const&);
GE_DLLEXPIMPORT virtualAcGeImpEntity3d& scaleBy(double, AcGePoint3d const&);
GE_DLLEXPIMPORT virtualAcGeImpEntity3d& translateBy(AcGeVector3d const&);
GE_DLLEXPIMPORT virtual void* getExternalEntity(void)const;
GE_DLLEXPIMPORT virtual void* getLinkedExternalEntity(void)const;
GE_DLLEXPIMPORT voidsetDeleteApiObj(Adesk::Boolean);
GE_DLLEXPIMPORT voidsetEntityType(AcGeImpEntity3d&, AcGe::EntityId, AcGe::EntityId)const;

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




你有种再说一遍 发表于 2025-12-14 01:14:28

有点东西啵

闻人南131 发表于 2025-12-15 10:15:45

有点东西啵
页: [1]
查看完整版本: AcgeEntity 从底层 由 2d 转为 3d ,并提供1个 AcGeImpEntity3d.h