
参数化构件的原理是:首先实现二维轮廓的参数化,由二维轮廓通过拉伸、扫描等方法形成参数化构件,再由构件通过组合、并交差、排列、变换等 *** 作形成复杂构件或组件。由此可知,一个参数化构件的主要参数是其轮廓几何参数、高度参数、定位参数等,而由这些参数组成的构件或组件,为保证其相互关系,就必须注意建立其参数关系,在PCL 里是通过参数传递、共用和表达式等方式来建立的。
PCL语言的格式:结构体分为三个层次:Element、构件Component和组件Assembly,
Element 定义二维参数化图元。 图元
Component 定义三维参数化构件。 构件
Assembly定义三维参数化组装体。 组件
ID是关键字,“ paZST”是定义的该对象的标识字符串,可以任意定义,但不能和其他对象重复。在其他对象要引用该对象时,也必须通过该ID来调用。
该对象的中文名称,可以与其他对象相同,但建议不要这样。
有意利用该关键字制定对象的类型,但尚未使用,可无。
参数的单位,原打算指定变量的单位,现该字段未使用,变量全部单位为m。
对象的生成方式,常用的有以下:(Microstation中的实体建模的功能)
1. PointPositioning——定位组合 (移动命令)
2. MatrixDistributing———排列 (阵列命令)
3. Loop——循环 单个T梁并排方式
4. SolidByExtrusion———拉伸体 (拉伸命令) 常用来做有角度的拉伸
5. LoftSolid——放样体 (放样命令) 生成体
6. LoftSurface——放样面 (放样命令) 生成面
7. Sweep——扫描体 (扫描命令) 一个面沿着一个路径生成体
8. Intersect——求交 布尔运算
9. Subtract—实体相减
10. Unite——实体相加
11. UniteSubtract——实体相加后相减
12. ChamferRound——倒圆角 找要倒角的边的代号
13. Chamfer—倒直角
14. Cell——一点定位单元 在PCL中调用单元
15. CellProfileSolid——单元轮廓体
该对象所需要的参数以及出事的默认值,格式必须严格遵守且必须为应为格式的标点符号,否则会导致报错甚至崩溃。例如:立方体参数:长(L)、宽(W)、高(H)———Variable=L(1)W(1)H(1)
该对象的定位点,可以有多个;实际是相对插入点的偏移值可以由变量或者变量表达式组成,但变量必须是Variable中定义的变量。
如:P0(0,0,0)P1(0,W/2-1,H+2)
Part2=_pcGroupColunm(P0(P1)D(d)dx(dx)pd(i1/2+i2/2)@i(0)@n(nx))
该对象的构件组成,关键字必须是Element或Part作为前缀,"="后面的是调用的对象名称及其参数,参数的顺序可以任意,但是参数应该是定位点如P0,P1或调用对象所需要的参数。示例中L、W、H是调用的对象_pcBlock所需要的参数(即_pcBlock中Variable定义的参数),“()”里传入参数值,此处的参数值可以是具体的数值(即代替被调用对象的变量初值),也可以是此对象要传入给被调用对象(_pcBlock的L变量等于本对象定义的L变量,H(-H1)意思是:_pcBlock的H变量等于本对象的—H1。
例如桥墩的组成部分大致分为:1、盖梁;2、支座垫石;3、墩身;4、基础(基础可分为扩大基础、承台桩基础等形式)
二维图元主要定义的是一个封闭轮廓或路径线,改图元克位于XY、YZ或ZX平面,所有二维图元都应是调用底层对象__pePlolygon和 _pePolyline _。
该对象定义由直线组成的连续或者连续线构成的封闭轮廓,如果Close=1则生成封闭的填充区域图元,缺省Close=1,拉伸实体必须是填充的封闭区域。 ( 不支持圆弧)
[Element]
ID=_pePolygon
Name=多边形
Type=Polygon
Unit=m
Variable=close(1)X0(0)Y0(0)X1(0)Y1(0.40)X2(0.08)Y2(0.40)N(3)
Provit=P0(0,0,0)
说明:
1)Variable里包含坐标必须是XY、YZ或ZX 平面上的坐标,包含的点数是不受限制的,N作为坐标结束的标志,其值为点数,但程序不实际检查该值。 2)一般按照逆时针定义点的坐标。 3)以上点的定义全部是采用绝对坐标定义,即都是相对于(0,0)点。
该对象定义由直线和圆弧组成的多义线或多义线组成的封闭轮廓,如果close=1则生成粉笔的填充区域图元,缺省close=1,拉伸实体必须是填充的封闭区域。
[Element]ID=_pePolylineName=复杂链Type=PolylineUnit=mVariable=close(1)X0(0)BY0(0)X1(0)Y1(0.40)X2(0.08)Y2(0.40)N(3)Provit=P0(0,0,0)
说明:
1)Variable里包含坐标必须是XY、YZ或ZX 平面上的坐标,包含的点数是不受限制的,N作为坐标结束的标志,其值为点数,但程序不实际检查该值。
2)B是每点的凸度值,同AutoCAD多义线中对凸度的定义,
体素化网格方法实现下采样,即减少点的数量,减少点云数据并同时保持点云的形状特征,在提高配准、曲面重建、形状识别等算法速度中非常实用。
PCL实现的体素滤波VoxelGrid类通过输入的点云数据创建一个三维体素栅格(可以将体素栅格想象为微小的空间三维立方体的集合),然后在每个体素内,用体素中的所有点的重心近似显示体素中的其他点,这样该体素内所有点就用一个重心点最终表示,对于所有体素处理后得到过滤后的点云。这种方法比用体素中心来逼近的方法更慢,但对于采样点对应曲面的表示更为准确。
你好,我来回答一下这个问题。
你这话有点让人难理解,加的Mod没保存,是mod放进文件夹里没用是吗?
mod别直接放进文件夹里,用启动器来添加mod就行。
方法1:启动一次,自动生成文件夹
方法2:手动建命名为mods的文件夹放在游戏目录
知识延伸:pcl启动器怎么加模组?
你是想通过启动器导入,但是你没找到 (PS其实HMCL可以)。只要你能找到mods文件夹 把模组文件拖进去(前提是已安装forge/fabric等)。通常在 .minecraft\mods
只要找到这个文件夹 一切麻烦就没了,可以建立一个该文件夹的桌面快捷方式 方便下载及时拖入mod。
望采纳!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)