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

.net网站开发架构西宁大型网站建设

.net网站开发架构,西宁大型网站建设,常州市城乡建设局网站,工信部网站黑名单查询OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有…

OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有高度(圆柱最后我用的投影的方法获取高度)。

本章,拾取的面按步距生成点云,因为没有大小或者没办法通过UV控制,所以尝试通过点云类直接操作

1、通过点云生成TopoDS_Shape

可以尝试BRepLib_PointCloudShape

2、通过TopoDS_Shape  直接生成点云。

BRepLib_PointCloudShape  这个类可以实现。

参考连接:Open Cascade 7.7.0 新功能:模拟三维扫描点云-BRepLib_PointCloudShape - unicornsir - 博客园

代码如下:

a.类继承和虚函数的实现:

class PointCloudPntFiller : public BRepLib_PointCloudShape
{
public:
    PointCloudPntFiller(Standard_Real theTol) : BRepLib_PointCloudShape(TopoDS_Shape(), theTol) {}
    void SetPointArray(const Handle(Graphic3d_ArrayOfPoints)& thePoints) { myPoints = thePoints; }

protected:
    virtual void addPoint(const gp_Pnt& thePoint,
        const gp_Vec& theNorm,
        const gp_Pnt2d& theUV,
        const TopoDS_Shape&) Standard_OVERRIDE
    {
        const Standard_Integer aPntIndex = myPoints->AddVertex(thePoint, theUV);
        if (theNorm.SquareMagnitude() > gp::Resolution())
        {
            myPoints->SetVertexNormal(aPntIndex, theNorm);
        }
        if (myPoints->HasVertexColors())
        {
            Quantity_Color aColor(360.0 * Standard_Real(aPntIndex) / Standard_Real(myPoints->VertexNumberAllocated()),
                1.0, 0.5, Quantity_TOC_HLS);
            myPoints->SetVertexColor(aPntIndex, aColor);
        }
    }

private:
    Handle(Graphic3d_ArrayOfPoints) myPoints;
};

b,.类的调用

    Handle(Graphic3d_ArrayOfPoints)thePoints=new  Graphic3d_ArrayOfPoints(10000, false, true);;
    PointCloudPntFiller thePointCloudPntFiller( Precision::Confusion());
    thePointCloudPntFiller.SetShape(aFace);
    thePointCloudPntFiller.SetDistance(uStep);
    thePointCloudPntFiller.SetPointArray(thePoints);
    thePointCloudPntFiller.GeneratePointsByDensity();

总结:

1、这个方法应该也可以根据密度生成网格小平面可以在和其他系统交互中把TopoDS_Shape 转换为数据

2、步距只能一个参数,不存UV 经纬这种操作。

我的遗留问题:为什么部分GeomAbs_BSplineSurface类型面通过BRepTools::UVBounds没办法获取大小。

double umin, umax, vmin, vmax;
BRepTools::UVBounds(aFace, umin, umax, vmin, vmax);

http://www.yayakq.cn/news/482804/

相关文章:

  • 找做模型方案去哪个网站汕头网站快速优化排名
  • 广东省门户网站建设的现状口碑营销网站
  • 南阳做网站优化哪家好昆明网站建设系统有哪些
  • 学生版 建设网站软件下载给媳妇做的网站
  • .net如何做网站网站域名可以改么
  • 江西省城乡和住房建设部网站手机可以看的网站
  • 网站建设业务好跑吗网站如何做才能被百度等收录
  • 阳江做网站公司网页翻译哪个好用
  • 网站的承诺郑州网站推广公司电话
  • 网站图片优化器山西网络营销外包
  • 电子商务网站建设完整案例教程s2sh pdf下载wordpress插件点不开
  • 江苏企业建站科技公司起名
  • 深一集团的网站谁做的触屏网站建设
  • 网站开发与应用案例国外网络销售平台有哪些
  • 安徽网站建设推荐 晨飞网络wordpress首页调用所有分类
  • 查询网站开发的端口wordpress 网页计算器
  • 好一点的网站鲜花网站建设主要内容
  • 订单拆单在电商网站建设wordpress首页js怎么添加图片
  • 长春市网站制作自创网站的软件下载
  • 南通网站建设总结做视频免费模板下载网站
  • 网站加速服务一元夺宝网站建设费用
  • 自己做h5网站腾讯地图如何标注自己店铺位置
  • 网站公众平台建设方案电话语音聊天网站建设多少钱
  • 免费推广网站哪家好视频制作公司经营范围
  • 济南小程序网站开发wordpress的字体大小
  • 番禺制作网站设计电商运营的基本流程
  • 湖北做网站价格淘宝客自己做网站
  • 福建大舟建设集团有限公司 网站中国企业信用信息查询网官网
  • 用c 可以做网站吗专为网站做点击量
  • 学校网站建设主要成绩热点事件舆情分析