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

网站备案文件下载免费刷粉网站推广免费

网站备案文件下载,免费刷粉网站推广免费,做模拟人生比较有名的网站,如何微信小程序注册问题:针对导入的部分面无法获取大小,同时也无法判断点是否在面上。但是OBB可以获取大小 解决方法:通过面拟合转换gp_Pln,然后获取面的内外边,重新修剪生成新的TopoDS_Face 疑问:本人对OCC中各种面的特性不…

问题:针对导入的部分面无法获取大小,同时也无法判断点是否在面上。但是OBB可以获取大小

解决方法:通过面拟合转换gp_Pln,然后获取面的内外边,重新修剪生成新的TopoDS_Face 

疑问:本人对OCC中各种面的特性不是很了解有知道的老大可以帮忙普及一下:

TopoDS_Face 

BRepAdaptor_Surface

GeomAbs_Plane

Geom_Plane

GeomPlate_Surface

gp_Pln

以下是实现的参数部分代码,通过UV提取点,判断点是否在面上。

//如果获取的包容盒小于步距,获取一下OBB包容盒判断是否大于2,大于2开始面转换
if (aUmax - aUmin < uStep || aVmax - aVmin < vStep)
{
    Bnd_OBB obb;
    BRepBndLib::AddOBB(aFace, obb, Standard_True, Standard_False);
    if (2 * obb.XHSize() > 2 || 2 * obb.YHSize() > 2 || 2 * obb.ZHSize() > 2)
    {
        //判断面的类型 转换面类型  获取面的边界  修建获取新的有界面 针对平面
        if (aSurface.GetType() == GeomAbs_SurfaceOfRevolution || aSurface.GetType() == GeomAbs_BSplineSurface)//回旋曲面//样条曲面
        {
            TopLoc_Location theTopLoc_Location = aFace.Location();
            Handle(Geom_Surface) geomSurface = aSurface.Surface().Surface();
            Handle(Geom_BSplineSurface) bsplineSurface = GeomConvert::SurfaceToBSplineSurface(geomSurface);
            GeomConvert_SurfToAnaSurf converter(bsplineSurface);
            converter.SetConvType(GeomConvert_Simplest);
            converter.SetTarget(GeomAbs_Plane);
            geomSurface = converter.ConvertToAnalytical(1);
            gp_Pln thegp_Pln;
            if (converter.IsCanonical(geomSurface))
            {
                Standard_CString aRotatedEntityTypeName = geomSurface->DynamicType()->Name();
                if (geomSurface->IsKind(STANDARD_TYPE(Geom_Plane)))
                {
                    Handle(Geom_Plane) theGeom_Plane = Handle(Geom_Plane)::DownCast(geomSurface);
                    theGeom_Plane->Transform(theTopLoc_Location);
                    if (theGeom_Plane.IsNull())
                    {
                        return 0;
                    }
                    thegp_Pln = theGeom_Plane->Pln();
                    TopoDS_Wire outerWire = ShapeAnalysis::OuterWire(aFace);
                    std::vector<TopoDS_Wire> innerHoles;
                    // 遍历面上的每个边界线 (TopoDS_Wire)
                    for (TopExp_Explorer wireExp(aFace, TopAbs_WIRE); wireExp.More(); wireExp.Next()) {
                        TopoDS_Wire wire = TopoDS::Wire(wireExp.Current());
                        if (!wire.IsSame(outerWire))
                        {
                            innerHoles.push_back(wire); // 内孔
                        }
                    }
                    BRepBuilderAPI_MakeFace faceBuilder(thegp_Pln, outerWire);
                    // 添加内孔
                    for (const auto& holeWire : innerHoles) {
                        faceBuilder.Add(holeWire);
                    }
                    // 生成新的有限平面
                    aFace = faceBuilder.Face();
                    aSurface = BRepAdaptor_Surface(aFace);
                     aUmin = aSurface.FirstUParameter();
                     aUmax = aSurface.LastUParameter();
                     aVmin = aSurface.FirstVParameter();
                     aVmax = aSurface.LastVParameter();
                }
            }
        }

    }

}

http://www.tj-hxxt.cn/news/50132.html

相关文章:

  • 百度不收录哪些网站吗百度教育app
  • 鞍山网站制作价格商务软文写作300字
  • wordpress主题 门户东莞做网站优化
  • 拓者设计吧官网图片网站如何做优化排名
  • 网站设计规划书大数据营销案例分析
  • 网站域名更改app开发费用一览表
  • 触摸屏网站开发每日新闻
  • 外贸淘宝网站建设信息流广告有哪些投放平台
  • H5网站建设报价多少电商平台怎么注册
  • 淄博网站seo公司简单网页制作成品和代码
  • 澳门出差做网站维护发现漏洞百度的网址是什么呢
  • 龙岩找工作网站seo外链论坛
  • 上海地区做旧物回收的网站域名ip查询
  • 视频怎么转成网址论坛seo招聘
  • 分类型网站建设优化关键词怎么做
  • 合肥网站系统建设公司最近的新闻热点时事
  • 服装网站目标百度代运营推广
  • 廊坊关键词排名推广seo自媒体培训
  • 某企业网站建设论文seo搜索
  • mvc5 网站开发之學 pdf宝安网站建设
  • 网站建设是什么语言创建网站
  • 优惠券的网站怎么做seo网站优化优化排名
  • 网站注册信息查询百度快照推广效果怎样
  • 怎么做网站栏目关键词优化外包服务
  • 做普通网站公司吗青岛网站开发公司
  • 学院网站建设的作用热点新闻事件及评论
  • 做电影网站需要空间吗网站在线优化检测
  • 网站建设实验报告总结两千字培训课程设计
  • 微信客户管理系统如何优化推广网站
  • 校园网站建设需求分析南宁seo推广服务