0

0

分享

【初级教程四】常用三维图形创建

 
32 0
4 天前 天工开发者中心| 显示全部楼层 阅读模式
本帖最后由 天工开发者团队 于 2024-10-22 14:28 编辑

一、点
  1. void DispalyGrid()
  2. {
  3.         ApplicationPtr appPtr = GetApplicationPtr();
  4.         PartDocumentPtr pPartDoc = (PartDocumentPtr)appPtr->ActiveDocument;
  5.         RefPlanePtr pXOYPlane = pPartDoc->GetRefPlanes()->Item(1l); // 获得XOY平面
  6.         HRESULT hr = appPtr->StartCommand((SolidEdgeFramework::SolidEdgeCommandConstants)33054); //打开草图绘制开关
  7.         pPartDoc->SelectSet->RemoveAll();
  8.         pPartDoc->SelectSet->Add(pXOYPlane); //将XOY平面加入选择集,进入草图编辑模式
  9.         _variant_t value = true; //定义需要设定的本地参数值
  10.         appPtr->SetGlobalParameter(seApplicationGlobalGRID_Ordered_ShowGrid, value);//打开栅格显示开关
  11.        
  12. }
复制代码

         参数:
         NumberOfValues:  Array 的个数
         Array:                     镜像平面

         示例:
  1. <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),效果如下:
1.png

二、线段
         通过两个点可以确定一个直线。
         API:
  1. <blockquote>Line3DPtr Add(
复制代码
         参数:
         Startx、Starty、Startz:   起点坐标
         Endx、Endy、Endz:       终点坐标
         通过两个点画一个线段,示例如下:
  1. <blockquote>bool CreateLine()
复制代码
2.png
        API:
  1. <blockquote>HRESULT AddEx(
复制代码
         参数:
         arrPoints:  点集,为3的倍数,按顺序三个元素分别为一个点的x、y、z坐标
         arrLines:   线集(出参)

         把所有点按顺序连接成线段,示例如下:
  1. <blockquote>bool CreateLine()
复制代码
         效果如下:
3.png

三、矩形
         通过长宽和中心点、法向、平面U方向可以确定一个矩形
         API:
  1. <blockquote>TGPart::Lines3D::CreateRectangle(   
复制代码
         参数:
         
dWidth:                                                                                                
         
dHeight:                                                                                                

         dCentrexpos、dCentreypos、dCentrezpos:                                  中心点
         dPlaneNormalxpos、dPlaneNormalypos、dPlaneNormalzpos:   法向
         Line3D:                                                                                           矩形的四个线段(输出参数)
         代码示例:
  1. <blockquote>bool CreateRect(TGPart::Sketch3DPtr const& sketch)
复制代码
         运行效果:
4.png

四、圆
         通过圆心和半径、法向可以确定一个圆。
         API:
  1. <blockquote>TGPart::Ellipse3DPtr TGPart::Ellipses3D::AddByCenterRadiusNormal(
复制代码
         参数:
         
CenterX、CenterY、CenterZ:                      定义圆心
         
DirNormalX、DirNormalY、DirNormalZ:  定义法向
         
Radius:                                                           定义半径
         
代码示例:
  1. <blockquote>bool CreateCircle()
复制代码
         运行效果:
5.png
五、圆弧
         API:
  1. <blockquote><blockquote>TGPart::Arc3DPtr TGPart::Arcs3D::AddByStartEndCenterNorma(
复制代码
         参数:
         
Startx、Starty、Startz:                起点坐标
         Endx、Endy、Endz:                     终点坐标
         CenterX、CenterY、CenterZ:      圆心
         NormalX、NormalY、NormalZ:  法向
         dRadius:                                      半径
         代码示例:
  1. <blockquote><blockquote>bool CreateArc()
复制代码
         运行效果:
6.png

六、样条曲线
         所谓样条曲线(Spline Curves)是指给定一组控制点而得到一条曲线,曲线的大致形状由这些点予以控制,一般可分为插值样条和逼近样条两种,插值样条通常用于数字化绘图或动画的设计,逼近样条一般用来构造物体的表面。
         API:
  1. <blockquote><blockquote><blockquote>TGPart::BSplineCurve3DPtr TGPart::BSplineCurves3D::AddByPoints(
复制代码
         参数:
         ArraySize:                     点个数
         Array:                              点坐标集
         bCreateClosedCurve:   是否闭合,true闭合,false不闭合
         代码示例:
  1. <blockquote><blockquote><blockquote>bool CreateSplineCurves()
复制代码
         运行效果:
7.png
8.png
         由效果图可知,点都在样条曲线上,AddByPoints方法用于插值样条曲线。

七、圆角

         API:
  1. <blockquote><blockquote><blockquote>TGPart::Arc3DPtr TGPart::Arcs3D::AddAsFillet(
复制代码
         参数:
         Obj1、Obj2 :    线段
         dRadius :          半径
         bNoTrim:       是否修剪 true(不修剪)、false(修剪)
         代码示例:
  1. <blockquote><blockquote><blockquote><blockquote>bool CreateFillet()
复制代码
         运行效果:
9.png
10.png


评论(0)

您需要登录后才可以回复 登录

客服 意见反馈
返回顶部
快速回复 返回顶部 返回列表