首页 > 其他分享 >中望ZW3D 二次开发 输出质量、体积等属性 cvxPartInqShapeMass

中望ZW3D 二次开发 输出质量、体积等属性 cvxPartInqShapeMass

时间:2024-06-12 19:00:25浏览次数:20  
标签:ZW3D 0.0 Prop int 二次开发 revolve idCrvList cvxPartInqShapeMass msg

svxPoint P1 = { 10,0,0 };
svxPoint P2 = { 20,0,0 };
svxPoint P3 = { 20,10,0 };
svxPoint P4 = { 10,10,0 };

int L1;
cvxPartLine2pt(&P1, &P2, &L1);
int L2;
cvxPartLine2pt(&P2, &P3, &L2);
int L3;
cvxPartLine2pt(&P3, &P4, &L3);
int L4;
cvxPartLine2pt(&P4, &P1, &L4);

int countCrv = 4;
int* idCrvList = new int[countCrv];
idCrvList[0] = L1;
idCrvList[1] = L2;
idCrvList[2] = L3;
idCrvList[3] = L4;
int idList = 0;
cvxPartCrvList(countCrv, idCrvList, &idList);

svxRevolveData revolve;
cvxPartRevolveInit(&revolve);
revolve.idProfile= idList;
revolve.Axis.Pnt = {0.0,0.0,0.0};
revolve.Axis.Dir = {0.0,1.0,0.0};
revolve.Combine = VX_BOOL_NONE;
revolve.StartType = VX_INPU_VALUE;
revolve.Start=0.0;

revolve.EndType = VX_INPU_VALUE;
revolve.End=180;
revolve.OffsetTyp = VX_OFFSET_NONE;
int idShape1 = 0;
cvxPartRevolve(&revolve, &idShape1);
double  Density = 1.0;
svxMassProp Prop;
cvxPartInqShapeMass(idShape1, Density, &Prop);

char msg[256];
sprintf(msg, "密度:%f", Prop.Density);
cvxMsgDisp(msg);
sprintf(msg, "面积:%f", Prop.Area);
cvxMsgDisp(msg);
sprintf(msg, "体积:%f", Prop.Volume);
cvxMsgDisp(msg);
sprintf(msg, "质量:%f", Prop.Mass);
cvxMsgDisp(msg);

svxPoint CE = Prop.Center;
int idxpoint = 0;
cvxPartPnt(&CE, &idxpoint);
int  Count;
int* Faces;

cvxPartInqShapeFaces(idShape1, &Count, &Faces);
sprintf(msg, "面的数量:%d", Count);
cvxMsgDisp(msg);

在这里插入图片描述

标签:ZW3D,0.0,Prop,int,二次开发,revolve,idCrvList,cvxPartInqShapeMass,msg
From: https://blog.csdn.net/qq_32460115/article/details/139547059

相关文章

  • pytest接口自动化测试框架:为什么要做pytest插件的二次开发
    pytest二次开发的主要场景举例  https://blog.51cto.com/u_16213617/9796200 在进行接口自动化测试时,pytest框架提供了一套丰富的功能和插件,可以帮助我们快速编写和执行测试用例。然而,有时我们可能会遇到一些框架本身无法满足的特殊需求。这时,就需要进行pytest插件的二次开......
  • 中望ZW3D 二次开发 创建拉伸 cvxPartExtrude
    svxPointP1={0,0,0}; svxPointP2={10,0,0}; svxPointP3={10,10,0}; svxPointP4={0,10,0}; intL1; cvxPartLine2pt(&P1,&P2,&L1); intL2; cvxPartLine2pt(&P2,&P3,&L2); intL3; cvxPartLine2pt(&P3,&P......
  • 钉钉二次开发-企业内部系统集成官方OA审批流程(三)
    书接上回,本文主要分享 企业内部系统集成钉钉官方OA审批流程的步骤的第二部分。前端代码集成钉钉免登JSAPI:前端通过corpid获得钉钉临时访问码code,再通过临时访问码code调用此接口返回当前用户的姓名、userid、钉钉用户id、 系统工号、钉钉部门id列表、业务系统访问t......
  • Revit二次开发-使用Advanced Installer打包插件安装包
    插件开发属于客户端开发,当我们交付产品给客户的时候,肯定用安装包的形式交付是最佳方案。所以我摸索了一下怎么用AdvancedInstaller来打包插件安装包。AdvancedInstaller简介AdvancedInstaller是一款功能强大且用户友好的Windows安装包制作工具,专门用于创建安装包(MSI、EX......
  • 巧用CMake编译策略:C++二次开发中的Release与Debug模式切换秘籍
    往期本博主的C++精讲优质博文可通过这篇导航进行查找:《Lemo的C++精华博文导航:进阶、精讲、设计模式文章全收录》前言在C++二次开发的过程中,理解各种编译模式并能灵活切换,对于提升软件性能和调试效率至关重要。本文将深入讨论Debug与Release模式的区别、默认编......
  • AutoCAD .net 二次开发 PaletteSet取消允许固定
    今天在使用PaletteSet的时候偶然发现一个与预期不符的情况我需要一个用鼠标拖动到侧边不会自动贴靠在CAD侧边(或其他边)的PaletteSet,于是我将PaletteSet的Dock和DockEnabled属性设置为DockSides.None示例代码如下: 但是当我打开cad执行此段代码之后,我发现我的面板仍然可以被......
  • 寻路算法---基于AutoCAD二次开发
    在CAD中绘制首尾相连的直线,并据此构件点与点之间的连接关系,考虑到可能会有线连接的地方有一定的距离delta 点的信息,用于最开始情况下的点的信息集合///<summary>///点对应的信息///</summary>publicclassQjPointInfo{///<summary>......
  • 【Revit二次开发】Document.Regenerate方法(更新Revit文档中所有的图元)
    出处https://www.revitapidocs.com/2015/22468e2c-9772-8478-0816-c9759aa43428.htm功能更新Revit文档中的图元以反映所有更改。注意使用此方法可以在一组更改后强制更新文档。请注意,当事务被提交时,会自动调用以重新生成文档。用法FamilyInstanceinstance=doc.Create.Ne......
  • PDPS二次开发插件流程
    PDPS二次开发插件流程一.第一步通过C#创建插件dll1.在本地安装PDPS的安装目录下找到eMpower下的Tecnomatix.Engineering.dll,Tecnomatix.Engineering.Ui.dll2.在vs中新建winform窗体,引用以上目录下的两个dll文件3.新建一个类文件例如叫FristTestPlugin,继承Engineering下的TxBut......
  • shopify模板二次开发 增加购物车、立即购买功能
    <divclass="promotionDiscount"data-id="{{section.settings.promotionDiscount_id}}"><divclass="promotionDiscount_contercontainer"><divclass="promotionDiscount_title">{{section.se......