本帖最后由 天工开发者团队 于 2024-10-22 14:28 编辑
一、点
- void DispalyGrid()
- {
- ApplicationPtr appPtr = GetApplicationPtr();
- PartDocumentPtr pPartDoc = (PartDocumentPtr)appPtr->ActiveDocument;
- RefPlanePtr pXOYPlane = pPartDoc->GetRefPlanes()->Item(1l); // 获得XOY平面
- HRESULT hr = appPtr->StartCommand((SolidEdgeFramework::SolidEdgeCommandConstants)33054); //打开草图绘制开关
- pPartDoc->SelectSet->RemoveAll();
- pPartDoc->SelectSet->Add(pXOYPlane); //将XOY平面加入选择集,进入草图编辑模式
- _variant_t value = true; //定义需要设定的本地参数值
- appPtr->SetGlobalParameter(seApplicationGlobalGRID_Ordered_ShowGrid, value);//打开栅格显示开关
-
- }
复制代码
参数:
NumberOfValues: Array 的个数
Array: 镜像平面
示例:
- <blockquote>ATL::CComSafeArray<T> ToComSafeArray(std::initializer_list<T> const& initial_list)
复制代码 上述代码创建了三个点,分别是(0,0,0),(0.03,0.04,0.05),(0.02,0.03,0.04),效果如下:
二、线段
通过两个点可以确定一个直线。
API:
- <blockquote>Line3DPtr Add(
复制代码 参数:
Startx、Starty、Startz: 起点坐标
Endx、Endy、Endz: 终点坐标
通过两个点画一个线段,示例如下:
- <blockquote>bool CreateLine()
复制代码
API:
- <blockquote>HRESULT AddEx(
复制代码 参数:
arrPoints: 点集,为3的倍数,按顺序三个元素分别为一个点的x、y、z坐标
arrLines: 线集(出参)
把所有点按顺序连接成线段,示例如下:
- <blockquote>bool CreateLine()
复制代码 效果如下:
三、矩形
通过长宽和中心点、法向、平面U方向可以确定一个矩形
API:
- <blockquote>TGPart::Lines3D::CreateRectangle(
复制代码 参数:
dWidth: 宽
dHeight: 高
dCentrexpos、dCentreypos、dCentrezpos: 中心点
dPlaneNormalxpos、dPlaneNormalypos、dPlaneNormalzpos: 法向
Line3D: 矩形的四个线段(输出参数)
代码示例:
- <blockquote>bool CreateRect(TGPart::Sketch3DPtr const& sketch)
复制代码 运行效果:
四、圆
通过圆心和半径、法向可以确定一个圆。
API:
- <blockquote>TGPart::Ellipse3DPtr TGPart::Ellipses3D::AddByCenterRadiusNormal(
复制代码 参数:
CenterX、CenterY、CenterZ: 定义圆心
DirNormalX、DirNormalY、DirNormalZ: 定义法向
Radius: 定义半径
代码示例:
- <blockquote>bool CreateCircle()
复制代码 运行效果:
五、圆弧
API:
- <blockquote><blockquote>TGPart::Arc3DPtr TGPart::Arcs3D::AddByStartEndCenterNorma(
复制代码 参数:
Startx、Starty、Startz: 起点坐标
Endx、Endy、Endz: 终点坐标
CenterX、CenterY、CenterZ: 圆心
NormalX、NormalY、NormalZ: 法向
dRadius: 半径
代码示例:
- <blockquote><blockquote>bool CreateArc()
复制代码 运行效果:
六、样条曲线
所谓样条曲线(Spline Curves)是指给定一组控制点而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面。
API:
- <blockquote><blockquote><blockquote>TGPart::BSplineCurve3DPtr TGPart::BSplineCurves3D::AddByPoints(
复制代码 参数:
ArraySize: 点个数
Array: 点坐标集
bCreateClosedCurve: 是否闭合,true闭合,false不闭合
代码示例:
- <blockquote><blockquote><blockquote>bool CreateSplineCurves()
复制代码 运行效果:
由效果图可知,点都在样条曲线上,AddByPoints方法用于插值样条曲线。
七、圆角
API:
- <blockquote><blockquote><blockquote>TGPart::Arc3DPtr TGPart::Arcs3D::AddAsFillet(
复制代码 参数:
Obj1、Obj2 : 线段
dRadius : 半径
bNoTrim: 是否修剪 true(不修剪)、false(修剪)
代码示例:
- <blockquote><blockquote><blockquote><blockquote>bool CreateFillet()
复制代码 运行效果:
|
|