百科狗-知识改变命运!
--

PCL的概述

桃子1年前 (2023-12-05)阅读数 8#综合百科
文章标签参数对象

打印语言就是一个命令集,它告诉打印机如何组织被打印的文档。这些命令不是被单独地传送,而是由打印机驱动程序把它们嵌在打印数据中传给打印机,并由打印机的打印控制器再分开解释。

打印机语言很多,但总的来说可以分成两类,一类是页描述语言(PDL,Page Descriptional Language),另一类是嵌入式语言(如ESCape Code Language)。页描述语言非常复杂,命令非常多,当然它的功能也很强大,可以用来输出复杂的页面和图像,比较适合打印诸如演讲的材料、技术手册、广告册子等。PDL经常被用于一些要求输出效果比较高的软件中,包括图像设计软件,高级文字处理软件,带有高级图表功能的表格软件以及一些桌面印刷软件。PDL虽然能描述复杂的文档,但正是由于它的复杂性,使得打印机处理起来也比较慢。目前,激光打印机或喷墨打印机普遍采用的PCL和 PostScript都属于PDL。 嵌入式语言的名字来自于它使用命令的方式,它的每一个命令都以一个特征码(如ESC)为前缀,以此表明该字符串是一个命令而不是一般的打印数据。嵌入式语言没有页描述语言那么复杂,它适用于描述相对比较简单的文档,比如信件,数据库输出或一些简单的图形。ECL不支持精密印刷,只能使用不同的字体和大小输出文本,而不能处理特殊效果,一般针式打印机采用ECL。

页描述语言和嵌入式语言的代表分别是Adobe公司的PostScript语言和HP公司的PCL语言,它们是已经成为业界标准的两种打印机语言,现在它们已分别推出了PostScript Level 3和PCL6。许多厂商都使用自己的打印机控制语言,如EPSON的ESC/page,佳能的CaPSYL,施乐的XES、JDL,IBM的IPDS,DEC的ANSI/Sixel等,它们都各具特点,

PCL (Parametric Components Language)? 由于Power Civil 和MicroStation的实体参数化功能较弱,为方便实现结构物的三维参数化,我们定义了一种描述语言,暂定名为PCL (Parametric Component Language),并在MicroStation平台上开发了相应的语言解释器,以实现结构体的参数化。

? 参数化构件的原理是:首先实现二维轮廓的参数化,由二维轮廓通过拉伸、扫描等方法形成参数化构件,再由构件通过组合、并交差、排列、变换等操作形成复杂构件或组件。由此可知,一个参数化构件的主要参数是其轮廓几何参数、高度参数、定位参数等,而由这些参数组成的构件或组件,为保证其相互关系,就必须注意建立其参数关系,在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);

PCL的概述

? 该对象的定位点,可以有多个;实际是相对插入点的偏移值可以由变量或者变量表达式组成,但变量必须是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多义线中对凸度的定义,

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)