当前位置: 首页 > 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.yayakq.cn/news/6423/

相关文章:

  • 河南智能网站建设哪家好asp网站怎么仿站
  • 公司网站页面设计图片wordpress pdf缩略图
  • 深圳做积分商城网站公司技术先进的网站设计制作
  • 深圳网站建设金瓷网络系统开发方案设计(模板) 免费下载
  • 医院的网站建设目标免费人才招聘网站
  • 深圳响应式网站设计wordpress即时新闻
  • 帮别人做网站违法吗苏州中国建设银行招聘信息网站
  • 银川哪家网站建设专业去哪找wordpress主题
  • 有个网站做字的图片价格套餐网站
  • 湖州市城市建设档案馆网站南宁企业网站建设技术公司
  • 重庆开发网站wordpress用户注册邮件
  • 设计手机网站页面尺寸大小官方网站平台下载
  • 企石镇网站仿做长春网站seo哪家好
  • 东阳便宜自适应网站建设优惠重庆建站公司
  • 东莞做微网站建设wordpress 静态设置
  • 网站空间提供商网站建设公司专业公司
  • 好看怎么上传视频网站吗wordpress 显示文章分类
  • 网站需求分义乌市网站建设代理
  • 微信公众号怎么做网站天津seo公司排名
  • 义乌制作网站网络营销运营培训班
  • 青岛网站建设公司电话淘宝建设网站的目的是什么意思
  • 织梦网站怎么做模板公司推广哪个平台好
  • 北京网站建设价位义乌微信网站建设费用
  • 给客户建设网站税率大型网站的标准
  • 怎么自己公司名下的网站jquery网站发展历史时间轴
  • 河南艾特网站建设开发板
  • 北京大学两学一做网站沧州外贸网站建设
  • 网站手机版建设项目书青岛网站推广服务
  • 哪个网站买域名便宜wordpress去掉google字体
  • 做网站是不是要有数据库百度关键词竞价价格查询