参数化构件创建说明书培训版_第1页
参数化构件创建说明书培训版_第2页
参数化构件创建说明书培训版_第3页
参数化构件创建说明书培训版_第4页
参数化构件创建说明书培训版_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、概 二、二维图元的定 其它图 三、主要PCL类 PointPositioning‐‐定位组 MatrixDistributing‐‐排 Loop‐‐循 SolidByExtrusion‐‐拉伸 LoftSolid‐‐放样 LoftSurface‐‐放样 Sweep‐‐扫描 Intersect‐‐求 Subtract‐‐实体相 Unite‐‐实体相 UniteSubtract‐‐实体相加后相 ChamferRound‐‐倒圆 Chamfer‐‐倒直 Cell‐‐一点定位单 四、调用PCL对 调用和修改PCL对 在桥梁设计时调用PCL对 标准 通用 一、概化,定义了一种描述语言,暂定名为PCL(ParametricComponentLanguage),并在MicroStation平台上开发了相应的语言解释器,以实现结构体的参数化。结构体分为三个层次:图元Element、构件Component和组件Assembly,一般用Element定义二维参数化图元,Component定义三维参数化构件,Assembly定义三维参数化目前,在CivilStationBridge中的Template下有文件ponents.pcl文件,里面定义同应用要求的构件定义到后缀为pcc的文件中,pcc文件和pcl文件的格式完全一样,并且只要文件放在Template 下,启动时就会自动装载。注意:如果pcl或pcc文件中出现不存在的构件或严重的语法错误,则可能导致PowerCivil启动时出现严重错误。PCL中对象的标准格式示例如下 #开始一个对象定义,可以是 #该对象标识,ID是关键字,_pcTwoPadStone是定义的该对 的标识字串,可任意定义,但不能和其他对象相同。在其#象要该对象时,也必须通过该ID来调Name=单排2垫 该对象的名称,可与其它对象同名,但不建议这 #该对象的生成方法PCL解释器能解释的方法,后面详# 原打算指定变量的单现该字段未使用量全部单位为 有意利用该关键字指定对象的类型,但尚未使用 指定该对象需要的参数及初始值,注意严格遵守 该对象的定位点,可以有多个,实际是相对点的偏移 可以由变量或变量表达式组成但变量必须是Variable中定##该对象的构件组成,关键字必须是Element或Part作为前缀, #但参数应该是定位点如P0,P1或调用对象所需要的参数该例#中L,W,H是调用对象_pcBlock所需要的参数(即_pcBlock中()#以是具体的数值(即代替被调用对象的变量初值,也可以是#此对象要传入给被调用对象(_pcBlock)的变量参数或#L变量,H(‐H1)意思是:_pcBlock的#H变量等于本对象的‐H1。#其他说明在pcl文件中可以使用"#","#"后面的内容全部为注释内pccIDpclpccID对象的自己在Variable中定义的值,如上例,Part1如改为:则在生成_pcBlockW参数,W参数将直接使用_pcBlockW调用子对象时可以使用系统变量,系统变量以"@"开头,主要的系统变量如下@Tx:X轴移动@Tx指定的值@Ty:Y轴移动@Ty指定的值@Tz:Z轴移动@Tz指定的值@Rx:X轴旋转@Rx指定的值,单位为度@Ry:Y轴旋转@Ry指定的值,单位为度@Rz:Z轴旋转@Rz指定的值,单位为度@M:饶指定平面镜像@C:是用于条件控制的,控制对象包含的子实体对象在条件满足时创建或不创建。Variable=L(2);否则@C=0,Element0不创建。@C(d~0)d!=0时,@C=1,Element1将创建,否则@C=0,Element1不创建。显然,通过@C可条件生成不同的对象。控制符号还有:'>':大于成立时@C=1,否则@C=0'<':小于成立时@C=1,否则@C=0@i:Loop@n:Loop没有"Part"部分的对象则为系统底层对象,该对象是根据其Type在程序来生成如 或 Part1P0P1Part1P0定位点等于Part0的P0定位点;如 Part1P0点坐标为(0,0,H),H变量必须在VariableVariable中的变量,也可以使用其前面已创建的子对 意思是Part2对象的变量A(在_pc X中的Variable中定义)等于当前对象的A变量(在Variable中定义),B变量等于当前对象的L参数加2; X中的Variable中定义)等于Part1的A变量 在且有A变量。4)注意面的子对象不能后面的子对象的参数需要和后面对象参数共用,就必须在当前对象中的Variable定义一个变量,供这几个子对象使用。二、二维图元的定XY、YZZX平面,所有二维图元都应是调用底层对象_pePolygon和_pePolyline。后期应该进一步丰富二维参数化功能,以便支持更复杂的二维图区域图元,缺省close=1,拉伸实体必须是填充的封闭区域。说明一般按逆时针定义点坐标以上点的定义全部是采用绝对坐标定义,即都是相对于(0,0)的填充区域图元,缺省close=1,拉伸实体必须是填充的封闭区域。说明B是每点的凸度值,同AutoCAD多义线中对凸度的定义,以下摘录供参弧从起点到终点是顺时针则凸度为负数,0表示直线,1表示半圆。在将圆弧转化为多段线(AcDbPolyLine)时,需要计算圆弧的凸度。在AutoCAD中规定,圆弧的始终是逆时针,所以终点角度应大小起点角度(以圆心为原点中,以X轴正方向为下图中,图1,图2的绘制方向相反,但起点(小圆表示)到终点(角形表示)的以下是其算法(注意得到的值是逆时针的凸度{doubledEndAngle=pArc‐>endAngle();doubledAlfa=dEndAngle‐dStartAngle;if(dAlfa<0.0)//{dAlfa=2*PI+}doubledBulge=0.0;dBulge=tan((dAlfa)/4.0);returndBulge;}一般按逆时针定义点坐标以上点的定义全部是采用绝对坐标定义,即都是相对于(0,0)其它图Variable=L(1);W/2);B2(0);X3(L/2);Y3(‐W/2);B3(1);N(4))这个图元定义了两个变量LW,必须通过L和W0~3,见上图,0X0=L/2,Y0=W/2,B0=01点:X1=‐L/2,Y1=W/2,B1=12点:X2=‐L/2,Y2=‐W/2,B2=03X3=L/2,Y2=‐W/2,B3=1调用_pePolyline来生成,使用X0,Y0,B0等参数,由于各坐标都是通过L,W来定义的,所以修改L,W的值时,就可以得到不同的图元形状。注意:这里的TypePointPositioning,这个类型意思该对象只是通过其包含的对象(在 三、主PCLPCL对象是通过其Type来定义的,类型是指由支持的对象创建方法,所有PCL对象必须用系统支持的类型来创以后应考虑支持由用户自开发的类型,以扩充PCL的建模能力PointPositioning‐‐定位操作,也可以用于定义只包含一个子对PCL对象,这时一般是为了用PCL对象的变量定义该对象(_peHalfOfHalfRoundProfile)L,W来创建一个多义线轮廓,TypePointPositioning,除了创建子对象Element0外,不做任何操作。则是通过在定位点P0P1分别创Part1Part2,并把这两个实体组合在一起MatrixDistributing‐‐该类型用来生成沿XY两个方向排列的实体组。如在这dx,dy,nx,ny是该类型要求的变量,不能用其他变量名,其含义如dx:dy:nx:水平方向排列个数nx0ny:垂直方向排列个数nyLoop‐‐该类型实现循环生成实体,如Pivot=P0(‐w/2,0.,0.)Element=_pcLB(P0(P0);h1(h1);h2(h2);w1(w1);w2(w2);H(H‐dx*(@n‐@i和@nLoop类型需要的变量(是否不用@后续将考虑MatrixDistributingLoop生成的实体不一定是原某个坐标轴的,可以用它实现沿某个有坡度的直线。也可以通过@i和@nH参数,随@i的变化,H也在变化,结果如下:SolidByExtrusion‐‐由给定的定位点P0和P1控制。如:Pivot=P0(0.,0.,0.);P1(0.,0.,该对象的子Element创建一个二维封闭形状,其形状由L,W参数控制,此二维对象再Z轴向上拉伸高度H,形成一个拉伸实体注意子对象所在平面及拉伸方向要匹LoftSolid‐‐给定底面和顶面,按对应点形成三维体Pivot=P0(0.,0.,0.);P1(0.,0.,H*dir)Element1=_peHalfRoundProfile(L(UP_L);W(UP_W))注意顶面和底面应该是相似封闭区域,并且点的顺序LoftSurface‐‐放样Pivot=P0(0.,0.,0.);P1(0.,0.,Element0=_peHalfRoundProfileWithGap(L(UP_L);W(UP_W);d(d))Sweep‐‐扫描Intersect‐‐Name=Y臂体 ement1.$X*dir))Part2=_pcYArmHe0(P2);w(W);h1(h0);h2(0);h3(h1+H‐h0‐H0);H(H0);R1(R3);Wx(2*w+Element0.$X);Wy(Wy);dir(dir);@Tx(Element1.$X*dir))Part1Part2是其子对象,相交后得到新对象,如下图x=注意:允许多个相交,即可定义 本对象将逐个和子对象求交Subtract‐‐实体由第一子对象逐个减出后续子对象。即 ,如 Unite‐‐实体相由两个或多个实体进行布尔相加形成新实体。Part=如Name=Y形墩身Part1Part2相加后形成新实体对象 UniteSubtract‐‐实体相加后前面的子对象全部相加后减去最后一个Part=Part1+Part2+...Partn‐1‐PartChamferRound‐‐倒圆Name=双Y形体倒圆角E0~E5是指定要倒圆角的边号。目前边号还没做工具来获得边号,只能试了。边号可注意:变量"R"是该类型要求的参数,不能使用其他Chamfer‐‐倒直ChamferRound.如:Name=Y臂体倒角参数变量为 以后应修改为dx,dyCell‐‐一点定位义在dgnlib库中,在PCL对象中可以通过Cell类型将之与参数化对象组装在一起。定义了cell系统对Pivot=P0(0.,0.,0.)注意:在dgnlib中创建单元时,要将cell(Model)的定位点放到(0,0,0)CellProfileSolid‐‐单元轮在 中创建一个二维封闭轮廓,沿某轴线拉伸形成三维体对象。定义了系统对象Pivot=P0(0.,0.,0.) 轮廓单元所在的dgnlib库文件名,路径在的Template CellName:单元名称,即单元在dgnlib中的Model名称H:XYZ:0‐XY平面;1‐ZX平面;2‐YZPivot=P0(0.,0.,Part2是由单元轮廓生成的实体。四、调PCL的对象,但也可直接交用,直接交用目前还没实际的用途,主要用来检查定义的PCL对象是否正确。调用和修改PCL在CivilStationBridge的任务面板里用于调用已有的PCL对象,选择该图标后弹出Tab页可分别调用组件、构件、图元,右边是当前选择对象的参数,可任意修改如果不勾选则将在属性框中显示出所有的参数包括被参数PCL(字母变量PCL但如果在数据库文件lde.mdb 中定义了该对象的参数描述表在此将显示各参数的中文称,并可能不按pcl中定义的变量归属来显示各参数,关于pcldef的描述详见另一文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论