当前位置: 首页 > wzjs >正文

启凡科技企业网站建设关于网站建设的期刊文献

启凡科技企业网站建设,关于网站建设的期刊文献,ps详情页模板,wordpress redis评论opencascade 直线标注 在OpenCascade(OCCT)中实现标注功能主要涉及使用其交互服务模块(AIS)和尺寸标注类。以下是关键步骤和示例代码: 显示精度(小数点后几位) SetDimensionAspect 设置显示…

opencascade 直线标注

在OpenCascade(OCCT)中实现标注功能主要涉及使用其交互服务模块(AIS)和尺寸标注类。以下是关键步骤和示例代码:

显示精度(小数点后几位)

SetDimensionAspect

设置显示颜色

SetCommonColor

1. 创建尺寸标注对象

使用AIS_LengthDimension等类创建线性尺寸标注:

#include <AIS_LengthDimension.hxx>// 定义两个点或边
gp_Pnt P1(0, 0, 0);
gp_Pnt P2(10, 0, 0);
TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(P1, P2);// 创建长度标注
Handle(AIS_LengthDimension) lengthDim = new AIS_LengthDimension(edge);

2. 设置标注属性

调整颜色、文字大小等属性:

lengthDim->SetColor(Quantity_NOC_RED);
lengthDim->SetTextHeight(5);
lengthDim->SetArrowSize(3);

3. 显示标注

将标注添加到交互上下文:

Handle(AIS_InteractiveContext) context = ...; // 获取交互上下文
context->Display(lengthDim, Standard_True);

4. 半径/直径标注

使用AIS_RadiusDimensionAIS_DiameterDimension

TopoDS_Face aFace = ...; // 获取圆弧或圆
Handle(AIS_RadiusDimension) radiusDim = new AIS_RadiusDimension(aFace);
context->Display(radiusDim, Standard_True);

5. 更新标注

当几何变化时,更新标注位置或值:

// 修改几何后调用
lengthDim->UpdatePosition();
context->Redisplay(lengthDim, Standard_True);

6. 自定义文本格式

重写AIS_DimensionComputeText方法:

class MyDimension : public AIS_LengthDimension {virtual void ComputeText() override {// 自定义文本内容或格式}
};

7. 交互式标注创建

处理鼠标事件选择几何元素:

void MyInteractor::OnSelectionChanged() {// 获取用户选择的边或顶点// 创建对应标注类型
}

opencascade 半径标注

在OpenCASCADE中进行半径标注,可以使用AIS_RadiusDimension类。以下是一个半径标注的基本示例代码:

#include <AIS_RadiusDimension.hxx>
#include <BRepPrimAPI_MakeSphere.hxx>
#include <gp_Pnt.hxx>
#include <AIS_InteractiveContext.hxx>void DisplayRadiusDimension()
{// 创建一个球体BRepPrimAPI_MakeSphere sphereMaker(gp_Pnt(0, 0, 0), 50.0); // 球心在(0,0,0),半径为50TopoDS_Shape sphereShape = sphereMaker.Shape();// 创建半径标注Handle(AIS_RadiusDimension) radiusDimension = new AIS_RadiusDimension(sphereShape);// 设置标注的样式(可选)Handle(Prs3d_DimensionAspect) dimensionAspect = new Prs3d_DimensionAspect();dimensionAspect->TextAspect()->SetHeight(10.0); // 设置文字高度dimensionAspect->SetCommonColor(Quantity_NOC_RED); // 设置标注颜色radiusDimension->SetDimensionAspect(dimensionAspect);// 显示标注Handle(AIS_InteractiveContext) context = ...; // 获取你的AIS_InteractiveContext实例context->Display(radiusDimension);
}

角度标注

在OpenCASCADE中进行角度标注,可以使用PrsDim_AngleDimension类。以下是一个完整的代码示例,展示如何在三维空间中创建两条线段,并标注它们之间的角度:

#include <gp_Pnt.hxx>
#include <BRepBuilderAPI_MakeEdge.hxx>
#include <AIS_Shape.hxx>
#include <PrsDim_AngleDimension.hxx>
#include <Prs3d_DimensionAspect.hxx>
#include <AIS_InteractiveContext.hxx>void DisplayAngleDimension(Handle(AIS_InteractiveContext) myAISContext)
{// 定义三个点gp_Pnt p1(0, 0, 0);gp_Pnt p2(100, 100, 100);gp_Pnt p3(180, 150, 60);// 创建两条线段TopoDS_Edge edge1 = BRepBuilderAPI_MakeEdge(p1, p2);TopoDS_Edge edge2 = BRepBuilderAPI_MakeEdge(p2, p3);// 显示两条线段Handle(AIS_Shape) aline1 = new AIS_Shape(TopoDS::Edge(edge1));aline1->SetColor(Quantity_NOC_BLUE);myAISContext->Display(aline1, false);Handle(AIS_Shape) aline2 = new AIS_Shape(TopoDS::Edge(edge2));aline2->SetColor(Quantity_NOC_YELLOW);myAISContext->Display(aline2, false);myAISContext->UpdateCurrentViewer();// 创建角度标注Handle(PrsDim_AngleDimension) _Dimensioning = new PrsDim_AngleDimension(edge1, edge2);// 设置标注样式Handle(Prs3d_DimensionAspect) dimensionAspect = new Prs3d_DimensionAspect();dimensionAspect->MakeArrows3d(Standard_False);dimensionAspect->MakeText3d(false);dimensionAspect->TextAspect()->SetHeight(1);dimensionAspect->MakeTextShaded(true);dimensionAspect->SetCommonColor(Quantity_NOC_RED);dimensionAspect->MakeUnitsDisplayed(false);_Dimensioning->SetDisplayUnits("deg");_Dimensioning->SetDimensionAspect(dimensionAspect);// 显示标注myAISContext->Display(_Dimensioning, Standard_True);
}

文章转载自:

http://JA0Yn0LI.kyctc.cn
http://N6DFLqlR.kyctc.cn
http://CVfdJxNB.kyctc.cn
http://LktnqpMc.kyctc.cn
http://PMh6whrZ.kyctc.cn
http://OXBMNrXX.kyctc.cn
http://tFyZDzio.kyctc.cn
http://3QXt7Joh.kyctc.cn
http://G5WouONZ.kyctc.cn
http://UNq9NLIk.kyctc.cn
http://KxhstDHp.kyctc.cn
http://auYPaK45.kyctc.cn
http://Mht9LBTQ.kyctc.cn
http://edbQa5V9.kyctc.cn
http://j4YSBv5Z.kyctc.cn
http://Bh8L3IjQ.kyctc.cn
http://BNpWKcpt.kyctc.cn
http://6p5Sozzb.kyctc.cn
http://rrYA9SFj.kyctc.cn
http://82mbbHyL.kyctc.cn
http://tvkEhuOn.kyctc.cn
http://m1Twt1mj.kyctc.cn
http://McHhqarN.kyctc.cn
http://F6ZeDQb2.kyctc.cn
http://H5Ms0lXM.kyctc.cn
http://LKqVmub5.kyctc.cn
http://mT8vNSkd.kyctc.cn
http://IsK7wA4W.kyctc.cn
http://B7IphGP3.kyctc.cn
http://XvhfLGYm.kyctc.cn
http://www.dtcms.com/wzjs/732006.html

相关文章:

  • 冒充it男给某网站做修复wordpress订单邮件
  • 移动端网站优化工作自我评价
  • 杭州小型网站建设服务做投资网站
  • 公司做环评的网站深圳画册设计公司排名
  • 做网站很麻烦吗自己做民宿在什么网站上投放
  • php项目网站建设方案书wordpress推荐链接
  • 广告网站开发背景建分类信息网站
  • 芜湖建设网站如何在网站后台找到死链接
  • 企业局域网站建设模板百度深圳网站开发搜索
  • 哈 做网站wordpress 恢复默认
  • 学校网站建设培训心得辽宁建设工程信息网工程业绩怎么上传
  • 手机版网站如何制作网店商品页面制作加工
  • 电商企业网站建设情况网站被做301
  • 郑州免费做网站的wordpress京东客源码
  • 佛山企业网站建设渠道网站备案证书打印
  • 做门户网站用什么模板网站seo推广计划
  • 网站建设迅雷温州建设局网站
  • 遵义市建设局网站安阳千度网络有限公司
  • 做社区生意的网站石家庄做网站排名
  • 龙岗网站建设费用明细蓝色企业网站手机版织梦模板
  • 东莞网站开发找谁17一起做网店网站
  • 有域名有空间如何做网站网站开发工资多少钱一个月
  • 商丘做微信网站sqwyy杭州网络设计行业公司
  • 在北京做家教的网站wordpress设置页面加载js
  • Html手机浏览网站变形企业网站建设 ppt
  • 网站开发所遵循的南宁制作网站的公司
  • 核工业西南建设集团有限公司网站网站建设与搜索
  • 网站封装成app可以做热更新济南市公共资源交易中心官网
  • 网站建设 英文学网站开发哪里好
  • 做贷款的网站有哪些网络营销名词解释是什么