球と球サーフェイスの作り方の違いを紹介します。
まず球の作り方は下記となります。
void createBall() { ISolidKernelEntityPtr target, tools[2]; DPoint3d pt1 = DPoint3d::From(0, 0); double radius1 = 250; DgnSphereDetail sphere1Data(pt1, radius1); sphere1Data.m_capped = true; ISolidPrimitivePtr pShere1 = ISolidPrimitive::CreateDgnSphere(sphere1Data); eeh.Invalidate(); DraftingElementSchema::ToElement(eeh, *pShere1, nullptr, *ACTIVEMODEL); eeh.AddToModel(); }
球サーフェイスの作り方は下記となります。
void createSurfaceBall() { ISolidKernelEntityPtr target, tools[2]; DPoint3d pt1 = DPoint3d::From(0, 0); double radius1 = 250; DgnSphereDetail sphere1Data(pt1, radius1); ISolidPrimitivePtr pShere1 = ISolidPrimitive::CreateDgnSphere(sphere1Data); eeh.Invalidate(); DraftingElementSchema::ToElement(eeh, *pShere1, nullptr, *ACTIVEMODEL); eeh.AddToModel(); }
二つのコードを比べますと、球を作成する際、sphere1Dataの変数m_cappedをtrueに設定されています。
それが、球と球サーフェイスの作り方の違いとなります。