see you in the Music~~~ 努力奋斗了!!
( Thu, 21 Jul 2011 00:02:33 +0800 )
Description:
转自gu_xl的blog
http://gyh060707.blog.sohu.com/
vlax-curve-get族函数,包括如下一些函数:
vlax-curve-getPointAtDist
vlax-curve-getPointAtParam
vlax-curve-getDistAtPoint
vlax-curve-getDistAtParam
vlax-curve-getParamAtPoint
vlax-curve-getParamAtDist
vlax-curve-getStartParam
vlax-curve-getendParam
vlax-curve-getStartPoint
vlax-curve-getEndPoint
vlax-curve-getFirstDeriv
vlax-curve-getSecondDeriv
vlax-curve-getSecondDeriv
等,这些函数的使用时均要用到曲线参数,要用好这些函数,必须要搞明白曲线参数的含义,下面我就曲线参数在各种曲线中的含义解释如下:
直线中,参数值为点在直线上距离起点长度;直线起点参数值为0,终点参数值为直线的长度;
Param 在圆弧、园、椭圆中,参数值为圆心到曲线起点逆时针旋转到该点的弧度度值;园、椭圆起点参数值为0,终点参数值为2pi,圆弧起点参数对应圆弧DXF 的50码值,终点参数对应圆弧DXF 的51码值.
Param 在polyline中,参数值为计算点在polyline顶点上的顺序位置值,该值整数为计算点在polyline上的顶点顺序,以0为计数起点,小数部分为计算点在该poly片段上的长度比率。
Param 在在Spline中,是以Spline的拟合点进行直线连线,参数表示在该直线上距起点的距离。起点参数值为0,终点参数值为直线连线的总长度。
vlax-curve-getFirstDeriv 函数是返回曲线在指定位置的一阶导数(在 WCS 中),其实(vlax-curve-getFirstDeriv obj param) 函数计算的值是曲线上在参数值为param点处的切线方向,该值是一个表 '(x y z), 运用下列方法可计算出在参数param处的切线方向的角度值:
(setq ang (angle (setq pt (vlax-curve-getpointatparam obj param)) (mapcar '+ pt (vlax-curve-getFirstDeriv obj param)))) 。
vlax-curve-getSecondDeriv 函数计算的是曲线法线方向值,该值是一个表 '(x y z), ,运用上述方法同样可计算法线角度。如果计算点处曲线是直线,则返回'(0.0 0.0 0.0)。
明白了参数的含义后,就可以通过上述函数进行各种曲线计算了,下面给出一些具体的应用举例: 判断点是否在曲线上 gxl-pointoncurve pt curve 测试 (gxl-ptoncurve (getpoint) (car (entsel))) (vlax-curve-getClosestPointTo (car (entsel)) (getpoint))
(defun gxl-ptoncurve (pt curve) (equal pt (vlax-curve-getClosestPointTo curve pt) 0.00001) ) ================================================================== ax:GetCurveLength 返回曲线长度
;|功能 返回曲线长度 语法 (gxl-ax:GetCurveLength curve) 参数 直线、圆弧、圆、多段线、优化多段线、样条曲线等图元 返回值 曲线长度 样例 (gxl-ax:GetCurveLength (car (entsel))) |; ==================================================================
(defun gxl-ax:GetCurveLength (curve /) (if (= 'ENAME (type curve)) (setq curve (vlax-ename-vla-object curve)) ) (vlax-curve-getDistAtParam curve (vlax-curve-getEndParam curve) )
) (gxl-Ax:GetMidpointCurve curve) 计算曲线中点
(defun gxl-Ax:GetMidpointCurve (curve / d) (setq d (/ (gxl-ax:GetCurveLength curve) 2)) (vlax-curve-getPointAtDist curve d) ) ================================================================== checkarc 判断多段线是否有圆弧(凸度/=0)的子段
;|功能 判断多段线是否有圆弧(凸度/=0)的子段 语法 (checkarc ename) 参数 ename:图元名 返回值 T:有圆弧段
nil:无圆弧段 |; ================================================================== (defun checkarc (ename) (setq obj (vlax-ename-vla-object ename)) (setq plist (vlax-safearray-list
(vlax-variant-value (vla-get-coordinates obj)))) (setq n 0 bu nil) (repeat (/ (length plist) 2) (if (/= (vla-getbulge obj n) 0) (setq bu T) ) (setq n (+ n 1)) ) bu
) ================================================================== coodsofsegbynum 返回多段线第n子段的端点坐标
;|功能 返回多段线第n子段的端点坐标 语法 (coodsofsegbynum obj n) 参数 obj:图元名
n:代表子段位置的整数 返回值 坐标列表 |; ================================================================== (defun coodsofsegbynum (obj n / en) (vlax-curve-getPointAtParam obj n)
) ================================================================== coordsofsegbypick 返回多义线所点击子段的端点坐标 (coordsofsegbypick (car (entsel)) (getpoint))
;|功能 返回多义线所点击子段的端点坐标 语法 (coordsofsegbypick ename p) 参数 ename:图元名
p:点 返回值 坐标列表 |; ================================================================== (coordsofsegbypick (car (setq e (entsel))) (cadr e)) (defun coordsofsegbypick (obj p / n) (setq (vlax-curve-getclosestpointto obj (tra p 1 0)) n (fix (vlax-curve-getparamatpoint obj ))) (coodsofsegbynum obj n) ) coords2ptsegbypick 返回多义线所点击子段的两个端点坐标,起点为靠近选择点 '(p1 p2) (coords2ptsegbypick (car (setq e (entsel))) (cadr e))
(defun coords2ptsegbypick (obj p / n p1 p2) (setq (vlax-curve-getclosestpointto obj (tra p 1 0)) n (fix (vlax-curve-getparamatpoint obj )) (numbersofseg obj) ) (setq p1 (coodsofsegbynum obj n)) (if (vlax-curve-isClosed obj) (progn (if ( n ) (setq p2 (coodsofsegbynum obj (1+ n))) (setq p2 (coodsofsegbynum obj 0)) ) (if ( (distance p p1) (distance p p2)) (list p1 p2) (list p2 p1) ) ) (progn (if ( n ) (setq p2 (coodsofsegbynum obj (1+ n))) (setq p2 (coodsofsegbynum obj (1- n))) ) (if ( (distance p p1) (distance p p2)) (list p1 p2) (list p2 p1) ) ) ) ) coordsClosesegbypick 返回多义线靠近所点击子段的端点坐标 (coordsClosesegbypick (car (setq e (entsel))) (cadr e))
(defun coordsClosesegbypick (obj p) (car (coords2ptsegbypick obj p)) )
;(vlax-curve-isClosed (vlax-ename-vla-object (car (setq e (entsel)))))
;(vlax-curve-getparamatpoint (vlax-ename-vla-object (car (setq e (entsel)))) (vlax-curve-getclosestpointto obj (tra (cadr e) 1 0))) 返回多段线第n点的坐标,n起始值为0 (coodsofnumpoint ename n) 例如:(coodsofnumpoint (car (entsel)) 2)
(defun coodsofnumpoint (obj n / plist) (vlax-curve-getPointAtParam obj n) ) 返回多段线子段的数量,0为起始 (numbersofseg (car (entsel)))
(defun numbersofseg (obj / plist) (if (vlax-curve-isClosed obj) (fix (1- (vlax-curve-getendParam obj))) (fix (vlax-curve-getendParam obj)) )
( Mon, 4 Jul 2011 23:52:31 +0800 )
Description:
·类型属性》结构》编辑》材质》表面填充图案的小方形按钮》绘图/模型 选项按钮
绘图——填充图案不支持移动、对齐,随视图比例的大小而变化
模型——填充图案可以移动、对齐,不随视图比例的大小而变化,始终保持不变
一般选模型,选绘图的话旋转视图时会看见图案移动,很奇怪的
·洞口翻边只能用内建族
·2010版洞口命令在“编辑”处,包括 按面/竖井/墙洞口/垂直洞口/老虎窗
1.老虎窗:先画好老虎窗的墙和屋顶,再将这些墙、屋顶和主屋顶 附着或连接,最后用老虎窗命令框出洞口,注意洞口在墙的内则,不然附着会失效 2.面洞口/垂直洞口,剖面会不同,面洞口垂直于面,以面为参照平面
竖井可以跨各层 ( Tue, 21 Jun 2011 12:35:13 +0800 )
Description:
1.扣树木,把不要的白边去掉,另存为PNG透明格式
2.把PSD填好的总平彩图拖进来(转成JPG再导入)
3.将树木PNG位图拖进来,调整大小,最佳分辨率为宜
4.窗口》泊坞窗》调出艺术笔面板,把位图拖到艺术笔面板,保存为喷罐(不是笔刷)
5.绘制路径,保持选中状态,工具箱中选择艺术笔工具,拖到路径——或选择艺术笔直接画,此时位图已按默认设置排列于路径。
6.最后在喷罐工具的属性栏里调整大小(百分比),间距(对象多少)等
7.只调整绘树的路径的话只要用形状工具(A)就可以了
8.要删除其中一棵树的话,用选择工具(V),要先选中那堆树,ctrl+k拆分艺术笔,选一下别的物体,再选回那堆树,右键就会出现“取消组合”的选项,此时会出现画树的那条黑色路径,用选择工具(V)选中路径,删除,再删掉不需要的树即可
9.第八点用工具》对象编辑器,会看的很清楚,它是将艺术笔拆成原来的位图
10.导出树木图层:先按总平面大小画一个不填充内容的矩形,将矩形后置一个图层,删掉总平彩图。 选择文件》导出》PSD,勾选背景透明,取消勾选图层合并,即可
11.补充,Coreldraw常用快捷键:CTRL+D重复操作,左键加右键复制,V(自设),A(自设)
12.补充,喷灌听说挺耗内存的,没用就删掉
13.对象编辑器还可以设置图层,与 一样
14.可以中途把其他团拖进去,丰富喷灌的效果
( Sun, 19 Jun 2011 17:50:23 +0800 )
Description:
·一个网站http://au.autodesk.com.cn/ /forumdi lay.php?fid=37
·一个光盘http://www.verycd.com/files/1518b9e6d6b24f5 587036e1e6f7e963815383040
·一个视频http://v.youku.com/v_show/id_XMTg3MTE3OTUy.html
·一本书《Revit Architecture 2010建筑设计火星课堂》
·Revit二次开发http://blog.csdn.net/JoeXiongjin
·透露一个Revit文件丢失找回的秘方:如果因为崩溃、死机、断电等非人力所能抗衡的原因,造成rvt模型文件丢失,可在***文件夹下搜寻一个.txt文 本,将该文本文件直接拖拽到重新打开的Revit软件中,Revit可自动恢复到发生事故前得最后一刻,因为这个txt文本记录了你操作的所有动作,如同 飞机黑匣子。
·1.视图栏的裁剪视图;2.族的各项十分详尽的参数,例如墙的构造层;3.图元的注释随图元参数改变;4.结合轴网标高和相对偏移量的标高定位机制;5.缺少图层概念,由“类”代替,可在视图属性编辑各类的可见性;6.平面也可以显示阴影,挺有趣的……
·必须的,给族例如门窗改名字要直观易懂,例如0406x1220
·最左上角的大按钮里面有“选项”
·ViewCube工具
可以点击它各个面、边和点
·2011多了“日光路径”
·D:\Revit\Program\KeyboardShortcuts.txt 可以修改快捷键
·旋转:要选中物体才能用RO旋转,旋转过程中可改动旋转中心位置
·门窗编号最好最后加:注释》标记》标记全部
·视图》平铺,可同时比较不同的平立面
·右键》缩放匹配,相当于zoom all
·2010版,详细程度好像没神马影响,选了粗略,窗都还是能看到窗棱
·视图》可见性/图形替换:相当于图层可见性,及线型和图层颜色。不同的是,点击+号展开后,还可以改变各构造的线型、颜色及可见性
·视图属性》基线,下层作参考
·视图属性》颜色方案,布置了房间之后的颜色方案,可按名称等分类,按面积分类时可按值或者按范围分类
·拆分后的物体还是一个整体,再点一次才能选中拆分的部分删除
·画线时勾选“链”可以让新画的线和旧的线练成整体,方便创建形状
!选择命令的时候注意他们下面的勾选框,一般很多特殊功能
!旋转三维视角时的默认视图中心:平时是所有物体的中心,选择物体时时该物体的中心
·选择时注意看左下角的状态栏
?如何控制临时尺寸同永久尺寸的字号大小和透明?
!插入门窗时,输入SM,自动捕捉到中点插入
·门窗可以用“拾取主体”更换另一面依附的墙体
内建体量
!内建模型会影响项目的大小及运行速度,建议用后删除!
·体量建模时要打开显示体量模式,然后点“内建体量”开始体量建模
!下次打开时默认不显示体量,若要,则选择视图》可见性/图形替换》勾选“体量”
!若用载入族作为图案填充了内建体量的分割面,即使不显示体量,分割面依然会被看见
·创建形状包含了“融合”,“放样”两个功能——选择多个个不共面的闭合图形,创建形状即表示融合(选择一个闭合图形则将之立体化);选择一线一图形即表示放样(必须先画线,再定义一个垂直于线的工作平面(拾取线上端点)才能成功放样,线还不能是样条曲线)
·选中建好的物体,点击“透视”可看见物体上的所有夹点(只要对其中一个形状进行透视,其他物体也会透视),方便编辑操作
·体量就像一个块,完成后需要在位编辑
·想在Y方向画线,要先定义工作平面,工作平面是标高平面的一根线,默认的工作平面是标高平面,画线的时候才会出现工作平面的菜单,画出工作平面,然后拾取工作平面,也可拾取已有体量上的面作为工作平面
!选择物体后点击ViewCube旋转视角可自动放大到物体
·物体建好后不能在其他工作平面旋转或移动?可以,用“变更形状的主体”,会改变其工作平面,不过很难控制
·拉伸后添加轮廓可增加一个平行的轮廓面,增加调节的点,锁定轮廓则是这个的逆过程,将体量简化为所选轮廓(可以是你刚添加的轮廓)的拉伸,锁定后若想再添加轮廓,需要解锁 ·空心物体和实心物体放在一起就是布尔运算!但这样之后好像就用不了透视了。。!另外修改菜单也提供布尔运算,先选择“连接”或“剪切”,再选择两个物体(剪切的第二个物体必须是空心),这种方法可以透视,但透视后分割图案会消失
·分割表面,分割后可以选择编号(等分n份)和距离(顾名思义)来调整UV分割的数量。。!分割表面的体量不能转换为空心了
·分割后要填充图案,必须选中分割面点入图元属性,将族由“无填充图案”改为“八边形”或其他,第一个边界平铺选项挺有用的~那个对正也挺有用的(当你按距离分割表面的时候),之后要改的话在外面就可以找到填充图案了,还有预览的
·假如觉得系统自带的图案不够,可以载入族,revit默认的填充图案在Metric Library》按填充图案划分的幕墙嵌板
·选中分割面,在表面表示右方有个小箭头,其中有分割面的显示选项,不同图案可能有的选项会灰色;其中控制图案填充是否透明那个几好的
·完成体量后可以渲染 体量族
与内建体量相似,能保存到项目之外,可载入,定义工作平面,标高等更方便,更符合建模操作习惯,比内建体量的限制少
文件》新建?概念体量》选择公制体量.rft作为族样板
·多了“显示工作平面”这一选项,比内建体量好一点
这种多平面放样好像在内建体量里不成功的,但这里成功了
而且透视的时候还可以这样调路径,还是不错的,只是调起来很卡
·2011版有自适应族的rft,不知道是什么东东
体量建模
·就是用体量和场地》“面模型”,加屋顶/墙/幕墙/楼板,自己摸索
·可以修改体量后更新模型(由于捕捉功能混乱,修改体量十分恶心),先修改体量,然后框选整座楼,用过滤器只选择屋顶/幕墙系统/楼板这几个!注意!选多了都不行,而后才会出现“面的更新”这一选项,***啊!
·!顺便讲讲修改模型的技巧,首先是隐藏出体量外的全部物体,显隐很麻烦,要先开启显示隐藏对象模式,再选择哪些对象要恢复显示,麻烦到爆!然后进入体量在位编辑,捕捉时用右键,点捕捉替换(改选项只有在画线或旋转缩放等操作时踩出现!),选择需要的捕捉模式。拉伸等操作的捕捉很奇怪,非常不好用,但两物体连接在一起时,你有时又要把其中一个面拉出来调整再推回去,这下就有可能导致模型不精确。 创建族(基于公制幕墙嵌板填充图案)
新建》族》基于公制幕墙嵌板填充图案.rft
打开后默认的参考点和网格是固定的,默认网格为矩形,选中网格可修改为其他,例如八边形
·族编辑空间里由于不存在体量,所以要透视的话,不能框选,只能点选其中一个图元,才会出现透视和添加边的选项
·放样后,透视,画参考线再拉伸闭合图形上的点到参考线端点才能准确调整模型,否则拉伸不精确,直接改尺寸也不支持
标高与轴网
·标高平面可以自动按名称的最后一个字母排序,但不能识别一二三四的汉字方式
·按ctrl拖动复制是不会创造平面视图的,新增的标高会是黑色,蓝色的标高双击能进入平面
·可以阵列标高,勾选“多个”进行复制也可以有类似效果
·点选标高后,会显示——临时尺寸、标头对齐线、显隐表头勾选框、标头位置调整、添加弯头、3D/2D切换(是否影响其他立面)、标头对齐锁(其他标头是否同时对齐拖曳)
·轴网编号不能自动排除 I 和 O ,要手动排除
·镜像轴号或修改轴号都不会自动重排
·点选轴网后,会显示——临时尺寸、标头对齐线、显隐表头勾选框、标头位置调整、添加弯头、3D/2D切换(是否影响其他平面)、标头对齐锁(其他标头是否同时对齐拖曳)
·选类型属性其实里面的选项就是上面这些临时显示的东东
!选择轴号后选“影响范围”,选择那几个楼层采用同样的轴网处理
!由于只有3轴与标高5相交,所以标高5平面看不到1、2轴的
柱和梁
·柱没什么好说的,
·画梁要勾选“三维捕捉”,这样才会画到柱的顶部,否则会画到柱的底部去(梁系统没法捕捉,只能调标高了)
·连续梁要勾选“链”
·还可以选择梁的结构用途,没选就自动
·梁系统就是画一堆平行的梁,很好玩
·要想看到画出来的梁,要调节标高平面的视图范围
·若梁的一段在承重墙上,有起始梁洞、结束梁洞选项选择梁是否延伸到承重墙的中心线
·结构支撑在粗略显示时只是一根线
墙体和幕墙
!教程说要顺时针画墙,revit墙有内外墙之分(平面图点墙体后出现内外翻转标志),但无论内外墙,其尺寸驱动都是默认标房间净空
下面那块板就是逆时针画墙的结果,在内部看不到交线,外部反而看见楼板线了,上面的板则是将墙的方向改过来后画的,可见显示良好(PS:修改》编辑几何图形》连接可以让显示错误的楼板正确显示交线)
·除了画线,还可以拾取已有线变成墙体,此方法用于导入cad图
·属性》房间边界的勾选框,表示此墙体是否为房间的边界
·可设置墙体是否为结构墙
·设置墙附着,墙顶部标高将为板底,而非板面
·属性》类型属性》结构》编辑》进入墙体构造编辑对话框,注意“核心边界”选项
·墙体构造编辑对话框,包络不知什么意思?显示剖面的时候可以改分隔缝和墙饰条
·选墙体》编辑轮廓,可用于修改墙体立面
·附着墙体到屋顶、楼板、天花板、参照面上,是更好的改变墙体立面的工具
·复合墙:属性》类型属性》结构》编辑》进入墙体构造编辑对话框,先显示剖面视图,拆分区域,拆n份,然后插入n-1个“层”,选层,点“指定层”,用鼠标点选剖面上的区域进行修改,即可(选材质时可以复制原有材质当做新建,并设置其在视图的显示颜色和填充图案)
·墙饰条:解释一下“墙饰条”对话框的选项——
轮廓-需要载入轮廓族;材质-可选已有或自定义;距离-饰条所在高度;自-饰条位置;偏移-饰条与墙体距离;剪切-遇到门窗洞时剪切
·定义了一次墙饰条后,在常用里便可直接新建墙饰条,轮廓为默认,其他按上次选项设置,自动识别墙体;不同之处是,后者与墙不是一整体
·墙饰条制作后可拉伸夹点控制长度 ·叠层墙:类似复合墙,但在新建时类型中可以找到,可以上下层厚度不同,还可定义复合层!
·除了体量建模,还可以内建族创建异型墙体,常用》构建》构件》内建模型》墙,其中有拉伸、融合、旋转、放样、放样融合几种方式,与体谅建模略有不同,但大同小异
·幕墙有三种:幕墙-未分格,外部玻璃-分格较小,店面-分格较大
·幕墙的类型属性》自动嵌入一般勾选,勾选则自动裁剪基本墙(或基本墙裁剪幕墙),不勾选则提示墙体重合
左图表示自动嵌入的效果,还有两种墙饰条的剪切效果,类型属性里添加的墙饰条剪切有问题
·幕墙也可以编辑轮廓
·添加网格在 常用》构建》幕墙网格
·幕墙的网格可以拉动,也可以生成坚梃(常用》构建》坚梃),但生成后就调不了了,要调的话要在类型属性里勾选“调节坚梃”
在平面视图调整比较好
··“幕墙嵌板”可以调节幕墙的厚度,各网格的类型材质等;
在类型属性里可以统一调节幕墙嵌板的材质;
选择幕墙后用过滤器选出嵌板,可以分别调,步骤是选好嵌板后,属性,载入族,替换成门或窗(必须使用带有“幕墙”字样的门窗族来替换,此类门窗族使用幕墙嵌板的族样板制作,与常规门窗族不同) ·体量建模后的幕墙是 幕墙系统,可以拥有奇怪的形状,但添加网格、坚梃等方法与普通幕墙相同 楼板
·一般用“拾取墙”生成楼板
·显示“是否希望将高达此层的墙附着到此楼层底部”时,一般选否
·“坡度箭头”画斜板
·材质可以使大理石,地砖,木地板等
!拾取墙时,勾选“延伸到墙中-至核心层”,将拾取到墙体的核心边界
·生成剖面图时墙和楼板之间会有粗线连接,且楼板被墙体截断,需要 修改》编辑几何图形》连接,才能将粗线变细线,并且楼板变连续,截断墙体,太麻烦了点
·选择墙体(门窗等也可以),在剪贴板》复制到剪贴板(也可按CTRL+C),选立面视图,修改》剪贴板》对齐粘贴(也可按CTRL+V),按标高批量复制,很方便
·常用》构建》楼板》楼板边缘,轮廓要事先载入,类型属性里调 屋顶
·跟画楼板一样,但多了个“定义坡度”的勾选框,勾选后,选中话的轮廓线,上面有坡度的值可以修改;
也可以不勾选,画完轮廓之后画上坡度箭头,也可以(一条线可以有两个坡度箭头!),用此方法可以话四面双坡屋顶: 要注意的是:左图右面那部分(对应的是四面双坡)必须是正方形,否则不成功 ·双重斜坡屋顶,下面左图先设置截断标高和截断偏移,然后再截断标高处画另一层屋顶,但该功能好像不太好用,两个屋顶坡度不同的话连接出会有级差,用编辑》连接屋顶也显示出错,若坡度一样则接的天衣无缝。。 ·编辑》连接屋顶,只能用于这种人字形屋顶
被插的屋顶不会被修剪
·创造奇形怪状的屋顶可以用体量,也可以用 屋顶》拉伸屋顶,拉伸屋顶需要一个垂直于屋顶平面的工作平面,可以用框架立面;
·屋顶菜单下还有 “屋檐底板”(建好后需要用连接命令连接屋顶) “封檐带 ”(可以选择垂直/水平/竖直接) “檐沟”(可调轮廓) ( Sun, 19 Jun 2011 15:23:38 +0800 )
Description:
共你生果店相遇
最认得心口粒痣
同撩过鼻的手指
在档口写过的字
“靓提子 请君一试 甜蜜如炼乳”
卖腊鸭的六婶都帮衬了他三四次
得我未有闲情逸致去了解生果的好处
但是有一天他竟出现
街角凭栏处
欲言但又终止
他于衫袋拎出两条我喜爱的香蕉
边走边吃津津有味然后随便笑笑
讲讲电视的屎桥
他趣事也不少
极香软新鲜美味甜蜜感觉微妙
他冲口说出听晚同我睇戏睇通宵
我吓窒回复一句:我真的要告别了
我们站在那将军澳的天桥
他羞涩地苦笑
暗地里我竟听到他说:超…
直到一天我开学
落堂即飞奔抢货
鱼虾蟹芋头沙葛
用沙爹汤搭可乐
今晚汤底的主角
蒙面型又chok
但是我发现那位他仍是相当拼搏
不过又见病容被盖着
令我心中有感觉
我极勇敢的把他叫住
“今晚食火锅”
“i完全未够饿”
他于衫袋拎出两条我喜爱的香蕉
瑟缩家里的一角
食了一只便会笑
稳一日阳光普照
相约共种香蕉
自己争取的快乐甜蜜 感觉微妙
他冲口说出听晚同我睇戏睇通宵
我老实回复一句:也许这会太累了
距用力dum脚踩地脑瓜轻摇
又苦恼地一笑
暗地里我竟听到他说:超…
仲难受过哽了三只蕉
他于衫袋拎出两条我喜爱的香蕉
香蕉斑点清楚说着
我经已熟透了
不可停留多一秒
请快吃这根蕉
极想吃却又无奈胃的空间太少
他于衫袋拎出两条有一尺的香蕉
再额外赠多一句:“你点可以食感少”
我愿灵魂这刻可以识出窍
心仿似想生虾跳
我共你吃的蕉也 不算少
( Thu, 16 Jun 2011 22:31:11 +0800 )
Description:
http://blog.163.com/scn_2001_ren/
http://hi.baidu.com/%C7%A7%5F%5F%5F%5F%5F%C7%EF/album
两位热衷中国古建筑构造研究的博主
http://www.zjdhsj.com/photo/浙江东华院效果图
( Thu, 16 Jun 2011 21:42:39 +0800 )
Description:
古希腊柱式
古希腊的建筑从公元前7世纪末,除屋架之外,均采用石材建造。神庙是古希腊城市最主要的大型建筑,其典型型制是围廊式。由于石材的力学特性是抗压不抗拉,造成其结构特点是密柱短跨,柱子、额枋和檐部的艺术处理基本上决定了神庙的外立面形式。古希腊建筑艺术的种种改进,也都集中在这些构件的形式、比例和相互组合上。公元前6世纪,这些形式已经相当稳定,有了成套定型的做法,即以后古罗马人所称的“柱式”。 古希腊柱式有陶立克柱式、爱奥尼柱式、科林斯柱式三种形式。 1、多立克柱:陶立克柱式或多力克柱式DORIC ORDER,是古典建筑的三种柱式中出现最早的一种。
是一种没有柱础的圆柱,直接置于阶座上,由一系列鼓形石料一个挨一个垒起来的,较粗壮宏伟。圆柱身表面从上到下都刻有连续的沟槽,沟槽数目的变化范围在16条到24条之间,柱头没有装饰。它来自于古埃及,有名的法国埃及学者所命名的先陶立克柱式,是这种希腊柱式的先驱。多立克柱又被称为男性柱。著名的雅典卫城(Athen Acropolis)的帕提农神庙(Parthenon)即采用的是多立克柱式。 在希腊,多利克柱式一般都建在阶座之上,特点是柱头是个倒圆锥台,没有柱础.柱身有20条凹槽。 建造比例通常是:柱下径与柱高的比例是1:5.5;柱高与柱直径的比例是4或6:1。 多立克式一般柱身比例粗壮,由下而上逐渐缩小,上端直径为下端直径的4/5,细长比1:4-6。柱知刻有凹圆槽,槽背成棱角,柱头比较简单,无花纹,没有柱础而直接立在台基上檐部高度的比例为1:4,柱间距约为柱么匠1.2至1.5倍。
注:在古希腊无柱础,古罗马有柱础。 2、爱奥尼克柱式Ionic Order:这种柱式比较纤细轻巧并富有精致的雕刻,柱身较长,上细下粗,但无弧度,柱身的沟槽较深,并且是半圆形的。上面的柱头有装饰带及位于其上的两个相连的大圆形涡卷所组成,涡卷上有顶板直接楣梁。总之,它给人一种轻松活波、自由秀丽的女人气质。爱奥尼柱又被称为女性柱。爱奥尼柱由于其优雅高贵的气质,广泛出现在古希腊的大量建筑中,如雅典卫城的胜利女神神庙(Temple of Athena Nike)和伊瑞克提翁神庙(Erechtheum)。
为希腊建筑全盛时期代表风格,柱身比例与多立克相同,但其高度增加至下端直径的9倍,呈细长上升状。柱头正面和背面各有一对涡卷,中间嵌珠串装饰,柱底置于柱础之上。整个柱型在庄重之中,具有一种玲珑华美的感觉。 建造比例:柱身比例修长,上下比例变化不显著,细长比1:7-10,柱身刻有凹圆槽,槽背呈带状,有多层的柱础,檐部高度与柱高的比例为1:5,柱间距为柱径的2倍。 3、科林斯柱式Corinthian order:它最早可能出现于雅典奥林帕斯山的宙斯神庙,四个侧面都有涡卷形装饰纹样,并围有两排叶饰,特别追求精细匀称,显得非常华丽纤巧。希腊科斯林柱式(Corinthian Order)的比列比爱奥尼柱更为纤细,柱头是用毛莨叶(Acanthus)作装饰,形似盛满花草的花篮。相对于爱奥尼柱式,科林斯柱式的装饰性更强,但是在古希腊的应用并不广泛,雅典的宙斯神庙(Temple of Zeus)采用的是克林斯柱式。
为希腊建筑后期的产物,柱身造型大致和爱奥尼式相同,但柱头装饰华 。
丽略繁复,由三层毛茛叶雕刻而成。
建造比例:科林斯式除了柱头如盛满卷草花篮的纹饰外,其它各部分与爱奥尼克式相同,细长比1:10-12。 多立克式最先出现,是从古代产生的。海伦和仙女奥尔赛斯的儿子多鲁斯统治了阿哈伊亚和伯罗奔尼撒全境。多鲁斯在古城阿尔戈斯的朱诺圣地建立了陶立克柱式的神庙。后来,在阿哈伊亚的其他城市也建立了一些同样柱式的神庙。当时对称的规则还没有产生。为了寻找范本,他们转向人体自身。
当他们想要在这座神庙中设置柱子时,因为还没有对称的规则,就探索用什么方法能使它适于承受载荷并具有公认美观的外貌。他们试着测量男子的脚长,把它和身长来比较。结果发现男子的脚长是身长的1/6,于是他们就把同样的原则搬到柱子上来,以柱身基座厚度的6倍作为包括柱头在内的柱子的高度。这样,多立克式柱子就在建筑物上开始显出男子身体比例的刚劲和优美。
后来,当他们想要建筑一座不是给男神阿波罗而是献给优雅的狄安娜的神殿时,“脚长便改用窈窕女子的尺寸。为了显得更高一些,首次把柱子的厚度做成高度的1/8。”他们在柱头上放上盘蜗饰,像“卷发一样从左右两侧垂下”,正面则饰以水果垂花饰。柱子上的凹槽贯穿整个柱身,像主妇长袍的皱褶一样下垂。这便成了第二种柱式,即爱奥尼亚柱式。
第三种柱式是科林斯柱式,是“对少女窈窕体态的模仿”,通过装饰形成了更漂亮的效果。
维特鲁威在他的书中记述了这样一个故事:当时,科林斯的一位少女去世后,悲伤的乳母把一个装有女孩生前宠物的篮子放在她的坟墓顶上,并在篮子上盖上一片瓦。这个篮子碰巧放在一棵莨苕的根上。春天到来,植物发芽了,由于瓦片阻止主茎向中间生长,茎叶便向外弯曲,在边缘形成旋涡形。当雕塑家卡利马科斯路过时,他从中获得灵感,把发芽的莨苕叶子当作“科林斯”柱头的范本。由此便确定了这一风格,并运用它自身恰当的少女般的对称性确定了科林斯柱式其他部分的比例。
维特鲁威运用数学细节具体说明了这三种最早的柱式各自的所有部分的装饰和比例。维特鲁威的记载相当细致,不仅记载了这些柱式的总体尺度、宽和高的关系,而深入到柱子凹槽的位置以及其他细节。柱头上的所有建筑部件,其高度的1/12均向前倾科,使它们看上去显得垂直,因为柱子不能从顶到底一样粗细,“这是由于高度不同,随着视线上升,要对粗细加以调整。视觉总在追求美观,因此除非我们根据比例放大尺度,弥补眼睛的错觉以满足观众的愉悦感,否则柱子就会给人以粗糙难看的外貌。”维特鲁威的细致测算显示了如何精确而恰当地加粗以取得“优雅而适宜的视觉效果。”
典型的古典柱式包括希腊时期的3种,共有5种:多立克式、爱奥尼克式、科林斯式、罗马式(塔司干式、复合式)。
维特鲁威在他的《建筑十书》里给柱式本身和柱式组合作了相当详细的量的规定﹐用柱身底部的半径作量度单位。他注意到这些规定要根据建筑物大小﹑位置等具体条件作必要的调整。柱式作为基本的建筑造型手段﹐在罗马帝国流行﹐形成统一的罗马建筑风格。
西罗马帝国灭亡(476)后﹐欧洲大多数地区柱式建筑不再流行。在意大利虽然流风尚存﹐但细部和组合方式等都不很严格﹐与罗马柱式有很大差别。
意大利文艺复兴时期的建筑师﹐重新使用罗马柱式作为基本的建筑造型手段﹐追求风格的纯正。16世纪下半叶的手法主义﹐产生了两种潮流。一种是刻意求奇﹐不惜破坏柱式的结构逻辑来创造新的建筑形像﹐如螺旋式柱身﹑断折的额枋﹑不均匀的开间﹑成组的柱子等﹐这种潮流被17世纪的巴洛克建筑继承。另一种是刻意求同﹐给五种柱式厘订死板的规范﹐消除古罗马时期普遍存在的变体﹐作出苛细的量的规定﹐这种教条化的潮流被17世纪的古典主义建筑继承。巴洛克建筑流行于意大利等国和拉丁美洲的一些地区﹔古典主义建筑流行于法国和北美等地。它们都创造了一些新的柱式组合。但二者在个别手法上互有渗透。后来﹐古典主义建筑的影响比巴洛克建筑的大。尤其是法国成了欧洲建筑教育的中心以后﹐教条化的柱式就在欧洲成了主流﹐一直持续到20世纪30年代。但装饰仍多用巴洛克手法。
( Wed, 15 Jun 2011 11:20:41 +0800 )
Description:
cad vba 部分中文方法
Activate 将指定的图面设成作用中。
Add 建立一个成员物件并将它加入适当的集成中。
Add3DFace 以给定的四个顶点建立一个 3DFace 物件。
Add3DMesh 以给定的 M 与 N 方向的点数以及点在 M 与 N 方向的座标值建立任意形式的 3D 网面。
Add3DPoly 依给定的座标值阵列建立 3D 聚合线。
AddArc 以给定的弧的中心点、半径、起始角度以及结束角度建立一个弧。
AddAttribute 以指定的性质在给定的位置建立属性定义。
AddBox 建立边缘和 WCS 轴平行的 3D 实体方块。
AddCircle 以给定的中心点及半径建立一个圆。
AddCone 建立一个基底位於 WCS 之 XY 平面上的 3D 实体圆锥体。
AddCustomObject 建立 Custom 物件。
AddCylinder 建立一个基底是在 WCS 之 XY 平面上的 3D 实体圆柱体。
AddDim3PointAngular 使用三点来建立角度标註。
AddDimAligned 建立一个对齐式标註物件。
AddDimAngular 建立弧、二条线或圆的角度标註。
AddDimDiametric 以给定的直径上的二点以及引线的长度建立圆或弧的直径标註。
AddDimOrdinate 以给定的定义点、及引线端点建立座标式标註。
AddDimRadial 在给定位置建立选取之物件的径向标註。
AddDimRotated 建立旋转的线性标註。
AddElli e 以给定的中心点、主要轴上的一个点及半径比,在 WCS 的 XY 平面上建立一个椭圆。
AddEllipticalCone 以给定的 Center、MajorRadius、MinorRadius 以及 Height 在 WCS 的 XY 平面上建立一个 3D 实体椭圆圆锥体。
AddEllipticalCylinder 以给定的 Center、MajorRadius、MinorRadius 以及 Height 在 WCS 的 XY 平面上建立一个 3D 实体椭圆圆柱体。
AddExtrudedSolid 以给定的 Profile、Height 以及 TaperAngle 建立挤出实体。
AddExtrudedSolidAlongPath 以给定的轮廓以及挤出路径建立挤出实体。
AddFitPoint 以给定的索引将拟合点加到云形线。
AddHatch 建立一个 Hatch 物件。
AddItems 加入一个或多个物件到指定的选集中。
AddLeader 从给定的点座标值建立引线。
AddLightweightPolyline 以顶点的列示建立一条轻量级聚合线。
AddLine 建立通过二点的线。
AddMenuItem 加入蹦现功能表项目到蹦现功能表中。
AddMI ertBlock 插入图块的阵列。
AddMLine 建立通过一个点阵列的多条线。
AddMtext 在插入点与边界框宽度所定义的矩形中建立一个 MText 元件。
AddObject 加入物件到具名的字典。
AddPoint 在给定的位置建立一个 Point 物件。
AddPolyfaceMesh 从顶点的列示建立一个多边面网面。
AddPolyline 从顶点的列示建立一条聚合线。
AddPViewport 以给定的中心点、高度、及宽度加入一个图纸空间视埠。
AddRaster 根据既有的的影像档建立新的点阵式影像。
AddRay 建立通过二个唯一点的射线。
AddRegion 从一组图元建立面域。给定的图元必须可以形成封闭的共面面域。
AddRevolvedSolid 以给定之绕轴的面域建立迴转实体。
AddSeparator 加入分隔线到既有的的功能表或工具列。
AddShape 依照给定的插入点、比例係数,以及旋转要求依据名称识别的样板建立一个 Shape 物件。
AddSolid 建立一个 2D 实体多边形。
AddSphere 以给定的中心点及半径建立一个圆球。
AddSpline 建立二次或三次 NURBS(不均匀有理 B- line)曲线。
AddSubMenu 加入次功能表到既有的的功能表。
AddText 建立单行文字。
AddTolerance 建立公差元件。
AddToolbarButton 将工具列项目加入工具列的指定位置。
AddTorus 在给定位置建立一个圆环。
AddTrace 从点阵列建立一个 Trace 物件。
AddVertex 加入一个顶点到轻量级聚合线。
AddWedge 以给定的长度、宽度以及高度建立边缘和轴平行的楔形。
AddXLine 建立一个通过二指定点的 xline(无限长直线)。
AddXRecord 在任何字典中建立一个 XRecord 物件。
AngleFromXAxis 取得一条线与 X 轴间所夹的角度。
AngleToReal 将以字串表示的角度转换成实数(倍精度)值。
AngleToString 将角度从实数(倍精度)值转换成字串。
A endI erLoop 附加一个内迴路到剖面线。
A endItems 附加一个或多个元件到指定的群组。
A endOuterLoop 附加一个外迴路到剖面线。
A endVertex 附加一个顶点到 3DPoly、Polyline 或 PolygonMesh 物件的尾端。
ArrayPolar 以给定的 NumberOfObjects、AngleToFill、以及 CenterPoint 建立物件的环形阵列。
ArrayRectangular 建立物件的 2D 或 3D 矩形阵列。
AttachExternalReference 贴附外部参考(xref)到图面。
AttachToolbarToFlyout 将工具列贴附到定义为图示列的工具列按钮。
AuditInfo 演算图面的整合性。
Bind 将外部参考(xref)併入到图面。
Boolean 执行物件与其它 3DSolid 或 Region 物件之间的布林运算(联集、交集以及差集)。
CheckInterference 检查二个实体之间的干涉,如果指定的话,则从干涉处建立一个实体。
Clear 清除所有项目的指定选集。
ClipBoundary 指定点阵式影像的截取边界。
Close 关闭指定的图面或所有开启的图面。
Copy 复製给定的物件到相同位置。
CopyFrom 从给定的出图规划复製设定值。
CopyObjects 复製多个物件(完全复製)。
CopyProfile 复製指定的个案设定。
*CreateEntry 在档案属性中建立一笔新的纪录。(Creates a new entry in the File Dependency List.)
CreateTypedArray 建立含有有型引数之阵列的变体。
Delete 删除指定的物件。
DeleteConfiguration 删除一个视埠规划。
DeleteFitPoint 以给定的索引删除云形线的拟合点。
DeleteProfile 删除指定的个案设定。
Detach 从图面分离外部参考(xref)。
Di lay 将 PViewport 物件的显示控制切换为打开或关闭。
Di layPlotPreview 显示「出图预览」对话方块,其中含有局部或完整的视景预览。
DistanceToReal 将表示距离的字串转换成实数(倍精度)值。
Dock 将工具列定置在拥有者视窗的边框。
ElevateOrder 将云形线的顺序提高为指定的顺序。
EndUndoMark 标示图块操作的结束。
Erase 消除选集中的所有物件。
Eval 演算 VBA 中的表示式。
Evaluate 演算给定的剖面线或引线。
Explode 将复合物件炸开成次图元。
Export 将 AutoCAD 图面匯出为 WMF、SAT、EPS、DXF、DWF、或 BMP 格式。
ExportProfile 匯出作用中的个案设定使其能与其它使用者共用。
Float 将工具列设成浮动。
GetAcadState 从外部处理应用程式(out-of-proce a lication)取得 AcadState 物件来监视 AutoCAD 的状态。
GetAllProfileNames 取得系统所有可用的个案设定。
GetAngle 取得指定的角度。参考 ANGBASE 系统变数的设定值。
GetAttributes 取得图块参考中的属性。
GetBitma 取得当作工具列项目图示的大点阵图与小点阵图。
GetBoundingBox 取得围住指定物件之矩形体的二个点。
GetBulge 取得聚合线上给定索引的凸度值。
GetCanonicalMediaNames 取得指定之出图设备的可用标准媒体名称。
GetCo tantAttributes 取得图块或外部参考中的固定属性。
GetControlPoint 取得给定索引位置之控制点的座标值。
GetCorner 取得矩形的角点。
GetCustomScale 取得配置或出图规划的自订比例。
GetDistance 取得从提示线或萤幕上选取的一组点的距离。
GetEntity 以互动方式取得物件。
GetExte ionDictionary 取得与物件关联的延伸字典。
GetFitPoint 以给定索引取得云形线拟合点。
GetFont 取得 TextStyle 之字体的定义资料
GetGridSpacing 取得视埠的格点间距。
GetI ut 将使用者输入的字串转换成关键字索引。
GetInteger 从使用者取得一个整数值。
GetInterfaceObject 接收一个程式识别码(ID)并试图将它载入到 AutoCAD 当作内部处理伺服器(in-proce server)。
GetInvisibleEdge 以给定的索引取得 3DFace 物件边缘的可见性设定值。
GetKeyword 从使用者取得关键字字串。
GetLocaleMediaName 取得正规媒体名称的本土化版本。
GetLoopAt 以给定的索引取得剖面线迴路。
GetName 取得字典中物件的名称(关键字)。
GetObject 以给定的物件名称(关键字)取得字典中的物件。
GetOrientation 取得指定的角度。忽略 ANGBASE 系统变数的设定。
GetPaperMargi 取得配置或出图规划的边界。
GetPaperSize 取得规划之图纸的宽度与高度。
GetPlotDeviceNames 取得全部可用出图设备的名称。
GetPlotStyleTableNames 取得全部可用的出图型式表格名称。
GetPoint 取得在 AutoCAD 中选取的点。
GetProjectFilePath 取得 AutoCAD 寻找外部参考档案的目录。
GetReal 从使用者取得实数(倍精度)值。
GetRemoteFile 下载 URL 所指定的档案。
GetSnapSpacing 取得视埠的锁点间距。
GetString 从使用者取得字串。
GetSubEntity 以互动方式取得物件或次图元。
GetUCSMatrix 取得组成 UCS 座标系统资料的转换矩阵。
GetVariable 取得 AutoCAD 系统变数的目前设定值。
GetWeight 取得给定索引之控制点的权值。
GetWidth 取得聚合线的开始与结束宽度。
GetWindowToPlot 取得定义要出图之配置的位置的座标值。
GetXData 取得与物件关联的延伸资料(XData)。
GetXRecordData 取得与字典关联之延伸记录资料(XRecordData)。
HandleToObject 取得与给定处理码对应的物件。
Highlight 设定给定物件或给定选集中之所有物件的亮显状态。
Import 匯入 SAT、EPS、DXF 或 WMF 格式的图档。
ImportProfile 匯入其他使用者建立的个案设定。
*IndexOf 提供档案附属清单中元件之索引值(Provides the index of an entry in the File Dependency List.)
InitializeUserI ut 起始设定 GetKeyword 方法。
I ertBlock 插入一个图面档或已经定义的具名图块到目前的图面。
I ertInMenuBar 将蹦现功能表插入到 AutoCAD 功能表列的指定位置中。
I ertLoopAt 在剖面线的给定索引插入一个迴路。
I ertMenuInMenuBar 将功能表插入到 AutoCAD 功能表列中。
IntersectWith 取得图面中某个物件和其它物件相交的点。
IsRemoteFile 传回下载之远端档案所在的 URL。
IsURL 验証给定的 URL。
Item 以给定的索引取得集成、群组或选集中的成员物件。
LaunchBrowserDialog 启动容许使用者存取任何 URL 并选取 URL 的「Web 瀏览器」对话方块。
ListARX 取得目前已载入的 AutoCAD ARX 应用程式。
Load 从功能表档案载入功能表群组或从资源库(LIN)档案载入线型的定义。
LoadARX 载入指定的 AutoCAD ARX 应用程式。
LoadDVB 载入指定的 AutoCAD VBA 专案档
LoadShapeFile 载入造型档(SHX)。
Mirror 沿著轴建立平面物件的镜射影像。
Mirror3D 建立给定物件相对平面上的镜射影像。
Move 沿著向量方向移动一个物件。
New 以 SDI 模式建立一个新文件。
ObjectIDToObject 取得与给定之物件识别码(ID)对应的物件。
Offset 在既有的物件位置的偏移距离建立一个新的物件。
Open 开启一个既有的图档(DWG)并设成作用中文件。
PlotToDevice 将配置出图到设备。
PlotToFile 将配置出图到指定的档案。
PolarPoint 以到一个已知点的指定角度一距离来取得一个点。
Prompt 将提示张贴到指令行。
PurgeAll 从文件移除未使用之具名参考如未使用的图块或图层。
PurgetFitData 清除云形线的拟合资料。
PutRemoteFile 将档案上载到 URL 指定的远端位置。
Quit 关闭图档同时结束 AutoCAD 应用程式。
RealToString 将实数值(倍精度)转换为字串。
RefreshPlotDeviceInfo 更新出图、标准媒体、出图型式表格资讯来反应目前的系统状态。
Regen 重生整个图面以及重新计算所有物件的萤幕座标值及视景解析度。
Reload 重新载入外部参考(xref)。
Remove 从字典移除具名物件。
*RemoveEntry 从档案附属清单中移除已建立之识别符号元件(Removes an identified entry from the File Dependency List.)
RemoveItems 从群组或选集移除指定的项目。
RemoveFromMenuBar 从 AutoCAD 功能表列移除蹦现功能表。
RemoveMenuFromMenuBar 从 AutoCAD 功能表列移除如指定自集成的蹦现功能表。
Rename 变更字典中之项目的名称。
RenameProfile 变更指定的个案设定的名称。
Replace 以给定的项目置换字典中的项目。
ResetProfile 将指定的个案设定中的值重设回预设值。
*Restore 保留群组项目之图层属性设定(Restores a group of layer property settings.)
Reverse 反转云形线的方向。
Rotate 沿著基准点旋转物件。
Rotate3D 沿著 3D 轴旋转物件。Point1 与 Point2 定义当作旋转轴的线。
RunMacro 从 A lication 物件执行一个 VBA 巨集。
Save 储存文件或功能表群组。
SaveAs 将文件或功能表群组储存到指定的档案。
ScaleEntity 在 X、Y、与 Z 方向以相同比例调整物件。
SectionSolid 建立一个代表以三点定义的平面与实体交集的面域。
Select 选取物件同时将选取的物件放入选集中。
SelectAtPoint 选取通过给定点的物件并将它放到选集中。
SelectByPolygon 选取篱选内的图元并加到选集中。
SelectOnScreen 提示使用者从萤幕点选一个物件。
SendCommand 从 VB 或 VBA 应用程式传送指令字串到文件中供同步处理。
SetBitma 设定当作工具列项目之图示的大点阵图与小点阵图。
SetBulge 在给定的索引位置设定聚合线的凸度。
*SetColorBookColor 从已储存之调色盘中使用顏色名称来指定顏色(Specifies the color name from an existing color book.)
SetControlPoint 以给定的索引位置设定云形线的控制点。
SetCustomScale 设定出自订配置或出图规划的自订比例。
*SetDatabase 设定AutoCad 资料库和图层状态管理员之关连(A ociates an AutoCAD database with the LayerStateManager object.)
SetFitPoint 设定云形线的拟合点。
SetFont 设定 TextStyle 之字体的定义资料。
SetGridSpacing 设定视埠的格点间距。
SetInvisibleEdge 设定给定索引的边缘在可见性状态。
SetLayoutsToPlot 指定要出图的配置。
*SetNames 指定顏色之名称及调色盘之名称(Specifies the color name and book name of the color.)
SetPattern 设定剖面线的样式名称与样式类型。
SetProjectFilePath 设定 AutoCAD 寻找外部参考档案的目录。
*SetRGB 指定真彩相对应之RGB值(Specifies the RGB values of the True Color.)
SetSnapSpacing 设定视埠的锁点间距。
SetVariable 设定 AutoCAD 系统变数的值。
SetView 将视埠中的视景设成 Views 集成物件中储存的视景。
SetWeight 在给定的索引位置设定控制点的权值。
SetWidth 设定给定的区段索引的聚合线开始与结束的宽度。
SetWindowToPlot 设定要出图之配置的位置座标值。
SetXData 设定与物件关联的延伸资料(XData)。
SetXRecordData 设定与字典关联的延伸记录资料(XRecordData)。
SliceSolid 以定义平面的三个给定点建立 3DSolid 物件的切面。
Split 将视埠分割成指定数目的视景。
StartBatchMode 启动批次模式列印。
StartUndoMark 标示图块操作的开始。
Tra formBy 依给定的 4x4 转换矩阵移动、调整其比例或旋转物件。
Tra lateCoordinates 将点从某个座标系统转换成另一个座标系统。
Unload 释放功能表群组或外部参考。
UnloadARX 释放指定的 AutoCAD ARX 应用程式。
UnloadDVB 释放指定的 AutoCAD VBA 专案档。
Update 将物件更新到图面萤幕。
*UpdateEntry 清除及重新建立一个识别符号物件在档案附属属性清单中(Erases and then recreates an identified entry in the File Dependency List.
WBlock 将给定的选集写出为新的图档。
ZoomAll 缩放目前的视埠以显示整个图面。
ZoomCenter 将目前的视景缩放到指定的中心点以及放大。
ZoomExtents 将目前的视埠缩放至图面实际范围。
ZoomPickWindow 将目前的视埠缩放成萤幕上点选的点定义的视窗。
ZoomPrevious 将目前的视埠缩放为之前的实际范围。
ZoomScaled 依给定的比例係数缩放目前的视埠。
ZoomWindow 将目前的视埠缩放到指定二个对角点的矩形区域。
( Fri, 13 May 2011 16:54:03 +0800 )
Description:
http://www.verycd.com/topics/2818645/
( Sun, 17 Apr 2011 10:14:02 +0800 )
Description:
·visual li 的操作:要新建li ,控制台只是负责运行而已
·car返回的是元素
·cdr返回的是表(即便是只剩一个元素)
·(。。。)表示的表,第一个元素必是
操作符
,因此不能有(setq ls (a b c)),只能(setq ls (quote (a b c))),或者简化(setq ls ‘(a b c))
·除了quote本身,其他
操作符
后面跟的表或元素都要加引用 ’,(quote (a b))是对的,(atom ‘(a b))是对的,(atom (a b))是错的
·co 的用法: (co 'a '(2)) 返回(a 2) (co '(a) '(2)) 返回((a) 2) (co 'a '2) 和 (co 'a 2) 都是返回(a.2) —— 这里2就可以不用引用 '
·nil既可以表示原子,也可以表示一个表,所以(atom nil) 和 (listp nil) 返回的都是 T
·有几个特别的运算符: 1+ ;1- ; ~ ; 自己查一下
·equal 与 eq 的不同: (eq expr1 expr2) 函数确定表达式 expr1 和 expr2 是否设置为同一对象(例如,用 setq 函数设置),不能用于判断数值,只能是表 (equal expr1 expr2 [fuzz])函数:fuzz可以让用户指定表达式expr1和expr2的最大插值,在此范围内两数仍然相等。equal可以比较数值
两者不同仅在于equal多了fuzz和数值比较,而eq则速度更快
=用于判断数值和字符串
·()表示空表,使用时仍需引用'(),atom可返回()作为非的结果
·cond相当于case, co 则相当于list或a end
·prin1: (setq a 123 b '(a)) (prin1 'a) 返回a (setq a 123 b '(a)) (prin1 a) 返回123 (setq a 123 b '(a)) (prin1 b) 返回(a)
`progn:对每一个表达式求值,返回最后一个值,适合if语句的串联,
(if (= a b) (progn (expr...) (expr...) )
·DCL文件,创建对话框调用自定义函数,见“文句折断.l ”中的: (setq dcl_id (load_dialog "zhe.dcl")) ;打开对话框文件zhe.dcl (if (not (new_dialog "zhe" dcl_id)) (exit) );调用之后就可以为其中“key”为“rr_zhe”的按钮设置函数 (action_tile "rr_zhe" "(zhe_ch)") ;调用子函数,记住这里的函数是没有c:的
( Sat, 16 Apr 2011 21:54:15 +0800 )
Description:
Li 之根源
保罗格雷厄姆
约翰麦卡锡于1960年发表了一篇非凡的论文,他在这篇论文中对编程的贡献有如 欧几里德对几何的贡献.
他向我们展示了,在只给定几个简单的操作符和一个 表示函数的记号的基础上, 如何构造出一个完整的编程语言. 麦卡锡称这种语 言为Li , 意为List Proce ing, 因为他的主要思想之一是用一种简单的数据 结构表(list)来代表代码和数据.
值得注意的是,麦卡锡所作的发现,不仅是计算机史上划时代的大事, 而且是一种 在我们这个时代编程越来越趋向的模式.我认为目前为止只有两种真正干净利落, 始终如一的编程模式:C语言模式和Li 语言模式.此二者就象两座高地, 在它们 中间是尤如沼泽的低地.随着计算机变得越来越强大,新开发的语言一直在坚定地 趋向于Li 模式. 二十年来,开发新编程语言的一个流行的秘决是,取C语言的计 算模式,逐渐地往上加Li 模式的特性,例如运行时类型和无用单元收集.
在这篇文章中我尽可能用最简单的术语来解释约翰麦卡锡所做的发现. 关键是我 们不仅要学习某个人四十年前得出的有趣理论结果, 而且展示编程语言的发展方 向. Li 的不同寻常之处--也就是它优质的定义--是它能够自己来编写自己. 为了理解约翰麦卡锡所表述的这个特点,我们将追溯他的步伐,并将他的数学标记 转换成能够运行的Common Li 代码.
开始我们先定义
表达式
.表达式或是一个
(atom),它是一个字母序列(如 foo),或是一个由零个或多个表达式组成的
(list), 表达式之间用空格分开, 放入一对括号中. 以下是一些表达式:
(foo bar)
(a b (c) d)
最后一个表达式是由四个元素组成的表, 第三个元素本身是由一个元素组成的表.
在算术中表达式 1 + 1 得出值2. 正确的Li 表达式也有值. 如果表达式
得出 值
,我们说
. 下一步我们将定义几种表达式以及它们的返回值.
如果一个表达式是表,我们称第一个元素为
操作符
,其余的元素为
自变量
.我们将 定义七个原始(从公理的意义上说)操作符: quote,atom,eq,car,cdr,co ,和 cond.
) 返回
.为了可读性我们把(quote
)简记 为'
(quote a)
(quote (a b c))
(a b c)
)返回原子t如果
的值是一个原子或是空表,否则返回(). 在Li 中我们 按惯例用原子t表示真, 而用空表表示假.
(atom 'a)
(atom '(a b c))
(atom '())
既然有了一个自变量需要求值的操作符, 我们可以看一下quote的作用. 通过引 用(quote)一个表,我们避免它被求值. 一个未被引用的表作为自变量传给象 atom这样的操作符将被视为代码:
(atom (atom 'a))
反之一个被引用的表仅被视为表, 在此例中就是有两个元素的表:
(atom '(atom 'a))
这与我们在英语中使用引号的方式一致. Cambridge(剑桥)是一个位于麻萨诸塞 州有90000人口的城镇. 而``Cambridge''是一个由9个字母组成的单词.
引用看上去可能有点奇怪因为极少有其它语言有类似的概念. 它和Li 最与众 不同的特征紧密联系:代码和数据由相同的数据结构构成, 而我们用quote操作符 来区分它们.
)返回t如果
的值是同一个原子或都是空表, 否则返回().
(eq 'a 'a)
(eq 'a 'b)
(eq '() '())
)期望
的值是一个表并且返回
的第一个元素.
(car '(a b c))
)期望
的值是一个表并且返回
的第一个元素之后的所有元素.
(cdr '(a b c))
)期望
的值是一个表并且返回一个新表,它的第一个元素是
的值, 后 面跟着
的值的各个元素.
(co 'a '(b c))
(a b c)
(co 'a (co 'b (co 'c '())))
(a b c)
(car (co 'a '(b c)))
(cdr (co 'a '(b c)))
(cond (
)) 的求值规则如下.
表达式依次求值直到有一个 返回t. 如果能找到这样的
表达式,相应的
表达式的值作为整个cond表达式的 返回值.
(cond ((eq 'a 'b) 'first)
((atom 'a) 'second))
当表达式以七个原始操作符中的五个开头时,它的自变量总是要求值的.
我们称这样 的操作符为
接着我们定义一个记号来描述函数.函数表示为(lambda (
),其中
是原子(叫做
是表达式. 如果表达式的第一个元素形式如 上
((lambda (
则称为
函数调用
.它的值计算如下.每一个表达式
先求值,然后
再求值.在
的 求值过程中,每个出现在
的值是相应的
在最近一 次的函数调用中的值.
((lambda (x) (co x '(b))) 'a)
((lambda (x y) (co x (cdr y)))
'(a b c))
(z b c)
如果一个表达式的第一个元素
是原子且
不是原始操作符
的值是一个函数(lambda (
)),则以上表达式的值就是
((lambda (
的值. 换句话说,参数在表达式中不但可以作为自变量也可以作为操作符使用:
((lambda (f) (f '(b c)))
'(lambda (x) (co 'a x)))
(a b c)
有另外一个函数记号使得函数能提及它本身,这样我们就能方便地定义递归函 数.
(label f (lambda (
表示一个象(lambda (
)那样的函数,加上这样的特性: 任何出现在
将求值为此label表达式, 就好象
是此函数的参数.
假设我们要定义函数(su t
), 它取表达式
,原子
做参数,返回一个 象
那样的表, 不过
中出现的
(在任何嵌套层次上)被
代替.
(su t 'm 'b '(a b (a b c) d))
(a m (a m c) d)
我们可以这样表示此函数
(label su t (lambda (x y z)
(cond ((atom z)
(cond ((eq z y) x)
('t z)))
('t (co (su t x y (car z))
(su t x y (cdr z)))))))
我们简记
=(label
(lambda (
(defun su t (x y z)
(cond ((atom z)
(cond ((eq z y) x)
('t z)))
('t (co (su t x y (car z))
(su t x y (cdr z))))))
偶然地我们在这儿看到如何写cond表达式的缺省子句. 第一个元素是't的子句总 是会成功的. 于是
(cond (
等同于我们在某些语言中写的
既然我们有了表示函数的方法,我们根据七个原始操作符来定义一些新的函数. 为了方便我们引进一些常见模式的简记法. 我们用c
r,其中
是a或d的序列,来 简记相应的car和cdr的组合. 比如(cadr
)是(car (cdr
))的简记,它返回
的 第二个元素.
(cadr '((a b) (c d) e))
(caddr '((a b) (c d) e))
(cdar '((a b) (c d) e))
我们还用(list
)表示(co ...(co '()) ...).
(co 'a (co 'b (co 'c '())))
(a b c)
(list 'a 'b 'c)
(a b c)
现在我们定义一些新函数. 我在函数名后面加了点,以区别函数和定义它们的原 始函数,也避免与现存的common Li 的函数冲突.
)测试它的自变量是否是空表.
(defun null. (x)
(eq x '()))
(null. 'a)
(null. '())
)返回t如果它的两个自变量都是t, 否则返回().
(defun and. (x y)
(cond (x (cond (y 't) ('t '())))
('t '())))
(and. (atom 'a) (eq 'a 'a))
(and. (atom 'a) (eq 'a 'b))
)返回t如果它的自变量返回(),返回()如果它的自变量返回t.
(defun not. (x)
(cond (x '())
('t 't)))
(not. (eq 'a 'a))
(not. (eq 'a 'b))
(a end. x y)取两个表并返回它们的连结.
(defun a end. (x y)
(cond ((null. x) y)
('t (co (car x) (a end. (cdr x) y)))))
(a end. '(a b) '(c d))
(a b c d)
(a end. '() '(c d))
)取两个相同长度的表,返回一个由双元素表构成的表,双元素表是相 应位置的x,y的元素对.
(defun pair. (x y)
(cond ((and. (null. x) (null. y)) '())
((and. (not. (atom x)) (not. (atom y)))
(co (list (car x) (car y))
(pair. (cdr) (cdr y))))))
(pair. '(x y z) '(a b c))
((x a) (y b) (z c))
)取原子
和形如pair.函数所返回的表
,返回
中第一个符合如下条 件的表的第二个元素:它的第一个元素是
(defun a oc. (x y)
(cond ((eq (caar y) x) (cadar y))
('t (a oc. x (cdr y)))))
(a oc. 'x '((x a) (y b)))
(a oc. 'x '((x new) (x a) (y b)))
因此我们能够定义函数来连接表,替换表达式等等.也许算是一个优美的表示法, 那下一步呢? 现在惊喜来了. 我们可以写一个函数作为我们语言的解释器:此函 数取任意Li 表达式作自变量并返回它的值. 如下所示:
(defun eval. (e a)
((atom e) (a oc. e a))
((atom (car e))
((eq (car e) 'quote) (cadr e))
((eq (car e) 'atom) (atom (eval. (cadr e) a)))
((eq (car e) 'eq) (eq (eval. (cadr e) a)
(eval. (caddr e) a)))
((eq (car e) 'car) (car (eval. (cadr e) a)))
((eq (car e) 'cdr) (cdr (eval. (cadr e) a)))
((eq (car e) 'co ) (co (eval. (cadr e) a)
(eval. (caddr e) a)))
((eq (car e) 'cond) (evcon. (cdr e) a))
('t (eval. (co (a oc. (car e) a)
(cdr e))
((eq (caar e) 'label)
(eval. (co (caddar e) (cdr e))
(co (list (cadar e) (car e)) a)))
((eq (caar e) 'lambda)
(eval. (caddar e)
(a end. (pair. (cadar e) (evlis. (cdr e) a))
(defun evcon. (c a)
(cond ((eval. (caar c) a)
(eval. (cadar c) a))
('t (evcon. (cdr c) a))))
(defun evlis. (m a)
(cond ((null. m) '())
('t (co (eval. (car m) a)
(evlis. (cdr m) a)))))
eval.的定义比我们以前看到的都要长. 让我们考虑它的每一部分是如何工作的.
eval.有两个自变量: e是要求值的表达式, a是由一些赋给原子的值构成的表,这 些值有点象函数调用中的参数. 这个形如pair.的返回值的表叫做
. 正是 为了构造和搜索这种表我们才写了pair.和a oc..
eval.的骨架是一个有四个子句的cond表达式. 如何对表达式求值取决于它的类 型. 第一个子句处理原子. 如果e是原子, 我们在环境中寻找它的值:
(eval. 'x '((x a) (y b)))
第二个子句是另一个cond, 它处理形如(
...)的表达式, 其中
是原子. 这包 括所有的原始操作符, 每个对应一条子句.
(eval. '(eq 'a 'a) '())
(eval. '(co x '(b c))
'((x a) (y b)))
(a b c)
这几个子句(除了quote)都调用eval.来寻找自变量的值.
最后两个子句更复杂些. 为了求cond表达式的值我们调用了一个叫 evcon.的辅助函数. 它递归地对cond子句进行求值,寻找第一个元素返回t的子句. 如果找到 了这样的子句, 它返回此子句的第二个元素.
(eval. '(cond ((atom x) 'atom)
('t 'list))
'((x '(a b))))
第二个子句的最后部分处理函数调用. 它把原子替换为它的值(应该是lambda 或label表达式)然后对所得结果表达式求值. 于是
(eval. '(f '(b c))
'((f (lambda (x) (co 'a x)))))
(eval. '((lambda (x) (co 'a x)) '(b c))
'((f (lambda (x) (co 'a x)))))
它返回(a b c).
eval.的最后cond两个子句处理第一个元素是lambda或label的函数调用.为了对label 表达式求值, 先把函数名和函数本身压入环境, 然后调用eval.对一个内部有 lambda的表达式求值. 即:
(eval. '((label firstatom (lambda (x)
(cond ((atom x) x)
('t (firstatom (car x))))))
'((y ((a b) (c d)))))
(eval. '((lambda (x)
(cond ((atom x) x)
('t (firstatom (car x)))))
'((firstatom
(label firstatom (lambda (x)
(cond ((atom x) x)
('t (firstatom (car x)))))))
(y ((a b) (c d)))))
最终返回a.
最后,对形如((lambda (
)的表达式求值,先调用evlis.来 求得自变量(
)对应的值(
)添加到 环境里, 然后对
求值. 于是
(eval. '((lambda (x y) (co x (cdr y)))
'(b c d))
(eval. '(co x (cdr y))
'((x a) (y (b c d))))
最终返回(a c d).
既然理解了eval是如何工作的, 让我们回过头考虑一下这意味着什么. 我们在这 儿得到了一个非常优美的计算模型. 仅用quote,atom,eq,car,cdr,co ,和cond, 我们定义了函数eval.,它事实上实现了我们的语言,用它可以定义任何我们想要 的额外的函数.
当然早已有了各种计算模型--最著名的是图灵机. 但是图灵机程序难以读懂. 如果你要一种描述算法的语言, 你可能需要更抽象的, 而这就是约翰麦卡锡定义 Li 的目标之一.
约翰麦卡锡于1960年定义的语言还缺不少东西. 它没有副作用, 没有连续执行 (它得和副作用在一起才有用), 没有实际可用的数,
没有动态可视域. 但这些限制可 以令人惊讶地用极少的额外代码来补救. Steele和Su man在一篇叫做``解释器 的艺术''的著名论文中描述了如何做到这点.
如果你理解了约翰麦卡锡的eval, 那你就不仅仅是理解了程序语言历史中的一个 阶段. 这些思想至今仍是Li 的语义核心. 所以从某种意义上, 学习约翰麦卡 锡的原著向我们展示了Li 究竟是什么. 与其说Li 是麦卡锡的设计,不如说是 他的发现. 它不是生来就是一门用于人工智能, 快速原型开发或同等层次任务的 语言. 它是你试图公理化计算的结果(之一).
随着时间的推移, 中级语言, 即被中间层程序员使用的语言, 正一致地向Li 靠 近. 因此通过理解eval你正在明白将来的主流计算模式会是什么样.
把约翰麦卡锡的记号翻译为代码的过程中我尽可能地少做改动. 我有过让代码 更容易阅读的念头, 但是我还是想保持原汁原味.
在约翰麦卡锡的论文中,假用f来表示, 而不是空表. 我用空表表示假以使例子能 在Common Li 中运行. (fixme)
我略过了构造dotted pairs, 因为你不需要它来理解eval. 我也没有提a ly, 虽然是a ly(它的早期形式, 主要作用是引用自变量), 被约翰麦卡锡在1960年 称为普遍函数, eval只是不过是被a ly调用的子程序来完成所有的工作.
我定义了list和c
r等作为简记法因为麦卡锡就是这么做的. 实际上 c
r等可以 被定义为普通的函数. List也可以这样, 如果我们修改eval, 这很容易做到, 让 函数可以接受任意数目的自变量.
麦卡锡的论文中只有五个原始操作符. 他使用了cond和quote,但可能把它们作 为他的元语言的一部分. 同样他也没有定义逻辑操作符and和not, 这不是个问题, 因为它们可以被定义成合适的函数.
在eval.的定义中我们调用了其它函数如pair.和a oc.,但任何我们用原始操作 符定义的函数调用都可以用eval.来代替. 即
(a oc. (car e) a)
能写成
(eval. '((label a oc.
(lambda (x y)
(cond ((eq (caar y) x) (cadar y))
('t (a oc. x (cdr y))))))
(car e)
(co (list 'e e) (co (list 'a a) a)))
麦卡锡的eval有一个错误. 第16行是(相当于)(evlis. (cdr e) a)而不是(cdr e), 这使得自变量在一个有名函数的调用中被求值两次. 这显示当论文发表的 时候, eval的这种描述还没有用IBM 704机器语言实现. 它还证明了如果不去运 行程序, 要保证不管多短的程序的正确性是多么困难.
我还在麦卡锡的论文中碰到一个问题. 在定义了eval之后, 他继续给出了一些 更高级的函数--接受其它函数作为自变量的函数. 他定义了maplist:
(label maplist
(lambda (x f)
(cond ((null x) '())
('t (co (f x) (maplist (cdr x) f))))))
然后用它写了一个做微分的简单函数diff. 但是diff传给maplist一个用
做参 数的函数, 对它的引用被maplist中的参数x所捕获.
这是关于动态可视域危险性的雄辩证据, 即使是最早的更高级函数的例子也因为 它而出错. 可能麦卡锡在1960年还没有充分意识到动态可视域的含意. 动态可 视域令人惊异地在Li 实现中存在了相当长的时间--直到Su man和Steele于 1975年开发了Scheme. 词法可视域没使eval的定义复杂多少, 却使编译器更难 写了.
Li 之根源
This document was generated using the
tra lator Version 2K.1beta (1.48)
Copyright ? 1993, 1994, 1995, 1996,
, Computer Based Learning Unit, University of Leeds.
Copyright ? 1997, 1998, 1999,
, Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html
- lit=0 roots_of_li .tex
The tra lation was initiated by Dai Yuwen on 2003-10-24
Footnotes
``Recursive Functio of Symbolic Expre io and Their Computation by Machine, Part1.''
Communication of the ACM
3:4, April 1960, . 184-195.
以另外两个操作符quote和cond开头的表达式以不同的方式求值. 当 quote表达式求值时, 它的自变量不被求值,而是作为整个表达式的值返回. 在 一个正确的cond表达式中, 只有L形路径上的子表达式会被求值.
逻辑上我们不需要为了这定义一个新的记号. 在现有的记号中用 一个叫做Y组合器的函数上的函数, 我们可以定义递归函数. 可能麦卡锡在写 这篇论文的时候还不知道Y组合器; 无论如何, label可读性更强.
在麦卡锡的1960 年的Li 中, 做算术是可能的, 比如用一个有n个原子的表表示数n.
Guy Lewis Steele, Jr. and Gerald Jay Su man, ``The Art of the Interpreter, or the Modularity Complex(Parts Zero,One,and Two),'' MIT AL Lab Memo 453, May 1978.
当代的Li 程序 员在这儿会用mapcar代替maplist. 这个例子解开了一个谜团: maplist为什 么会在Common Li 中. 它是最早的映射函数, mapcar是后来增加的.
( Sun, 2 Jan 2011 23:06:15 +0800 )
Description:
现在的日子是舒服的,但不要忘了,生活总是,苦一半,乐一半。
在放松自己的日子里,我常常想起那些那些敢于真实面对自己感情,敢于流露自己情绪的人。
他们还在以苦患乐的战线上徘徊,这让我回想起纠结痛苦的往昔
我是真正需要休息了,敬那些失落的爱和理想,愿你们也得到安息。
( Sun, 12 Dec 2010 22:36:29 +0800 )
Description:
一段关系,就像一场舞蹈,讲的是两人的配合,男人和女人,说不清的缠绵,道不尽的浪漫,偏偏感情弄人,令真爱生憾。
看完这段舞蹈,我完全觉得最完美的爱情应该发生在两个舞者之间,为了训练朝夕相对,相互默契,相互信赖,以至互生情愫。。。多美好啊~~多么浪漫。
这个视频的评论里摘录一条,个人认为写得很好:
男孩背负了很多东西 渐渐从低迷中醒来 碰到一个梦幻般的女孩 男孩渐渐被女孩吸引了 觉得这应是他的梦中情人 而后开始追求她 可女孩如同轻盈的花猫一般 总是对他若即若离 那是女孩的自我保护吧 她从不轻易作决定 只会对所爱的男人展现真实的一面 然而这个男孩还达不到她所爱的标准 男孩一次次改变着自己 渐渐让女孩产生了依赖 最后女孩决定跟这个改变的男孩在一起 把她真实的全部给了男孩 而男孩却已经找不到女孩那种梦幻般的感觉 男孩选择了离开
这更体现了社会上两种人的普遍心理 一个是为了梦想中人而改变 另一个把能为她改变的变成梦想中人 到最后 这两人的位置关系又互换了 这不是在说我麽?
把它放在这里,就当作我的写照吧。
我也不明白,为什么男人的爱总是在一点点减少,而女人的爱会慢慢增加
但她最后是爱我嘛?可能不是吧,至少她也没关心过我
她依赖我嘛?是的。
这让我头皮发麻,女人,我希望你告诉我,你依赖男人但不关心他是什么意思? 于是,我结束了这一段断断续续的感情
收拾行李,重新起航
若人生只如初见,我,还是那样浑浊,她,还是那样的清澈 ( Sun, 5 Dec 2010 22:23:01 +0800 )
Description:
作者:
来源:《中国园林》2004(7:)33-36 浏览: 3378
1 文化/历史背景
都江堰,位于四川省会成都西北60km处,在古代中国意为“首府河大坝”,它是公元前3世纪中叶(战国初期),在欧亚大陆东半部建造的一个巨大的、经过仔细规划的公共工程①。
2000多年来,都江堰仍在发挥着重要的作用。这个巨大的基础设施建设对世界文明的贡献已被公认,并于2000年被联合国教科文组织列入世界文化遗产名录。这一成就已经成为了当地人民每年值得庆祝的节日性事件[1]。都江古堰以及有关她的民间传说、神话和风俗习惯为 “都江堰广场”,提供了深厚的创作素材和灵感。如今,这一广场已成为都江堰市新的城市公共开放空间和标志性景观。
从设计说明中,可以清晰地知道都江堰广场的设计灵感来源于当地的都江古堰。而且,
也没有忘记借助当地的农业遗产为其作品中的水系、雕塑设计产生相应的灵感。参考“竹笼”在都江古堰中的使用,
在其作品中甚至创造了新的设计语言。这座城市本身具有的社会和文化肌理在土人的设计作品中得到了深刻体现。这些借鉴于不同层面的元素在整体作品中的有机使用,使其成为独特的富于内涵的设计景观(图1)。
500){this.width=500}" border=0
图1 广场总平面
2 评论分析
都江堰广场取代旧有的脏乱之地,成为都江堰市新的标志性景观,她占地11hm2,当地政府部门的目的是使其成为城市再生计划的一部分,其他要求可以概括为:
·城市中心地带景观的提升;
·供当地居民使用的公共空间;
·与世界文化遗产都江古堰建立有机联系;
·成为旅游景点。
的设计方案在1999年的国际设计竞赛中脱颖而出。他们的设计方法源于他们的设计哲学,通过地域、场所以及众多相关联系中寻找设计线索。特别是
从其掌握的素材中发现并捕捉到了这块土地的本质并因此讲述了一个故事——创作出了一个用当代景观语言讲述都江古堰、地域历史、当地百姓和民间传说的现代人文景观。
空间上,场地本身受到以下诸多因素的制约:
·主要的车流道路交叉分割地块,
·穿越场地的水渠的位置和形态是不准改动的, ·现有水渠将场地分割得支离破碎。
把这些制约因素视做设计的机遇,着重探索如何通过设计使场地有机地联系在一起,从而产生新的场所个性——“场所性”。在这个设计中,场地被定性为公众开放空间,这是当地政府的要求。
通过建造下穿式通道,解决了被城市主干路分割的南北场地的连通问题。利用邻近水渠的竖向高差,设计了水系通道;为增强亲水性,在广场中引入了溪流;为弱化广场被水渠强行分割的视觉效果,在设计策略上采用新象征语言,通过雕塑和水平元素的设计,建立广场的整体性。
在“中心”或“视觉焦点”处设计了规则的几何式景观。设计作品的中心是一座30m高的石雕水塔,其意义是唤起当地民间传说和神话中对岷江水神的记忆,并因此形成视觉地标。同时,借用几何型广场的设计,让人回忆起“竹笼”和毛石在都江古堰中的应用。一条竖向轴线,从中心雕塑一直延伸到广场的南边界, 它由30m的主雕、3个较短的塔和一条线性石廊(导水渡槽)组成。引入了一条蜿蜒的小溪,缠绕在艺术化的导水渡槽的脚下,参观者可以与水亲近互动。
从这个设计作品的物质属性来看,
为当地创造出了一个新的景观形态。在这个巨大尺度的公众开放广场中,通过各种不同的“户外房屋”和亚空间,形成5个各有特色的区域。空间的多样性和作为场地边界的江水的波涛声,是这个广场所能给人的整体印象。贯穿整个场地的水的设计,是该作品中最突出的元素,也是广场最与众不同之处。这个设计作品让人回想起Lawrence Halprin(劳伦斯·哈尔普林) (1916~ ),20世纪加里弗尼亚的景观设计师,他在许多美国西部的设计作品里都有对水的使用,比如华盛顿州西雅图市的高速路公园、俄勒冈州波特兰市的Lovejoy喷泉以及加利弗尼亚州三番市的Levi Strau 广场等等②。
2.1 5个区域(图2)
500){this.width=500}" border=0
图2 五个区域
(1)序曲/仟陌
作为从市内进入广场的南门户和主要入口之一,“序曲”或称为进入广场的南入口部分,为这个新的广场中随后经历的一系列步行空间和场景的展开设定了一个舞台。就像音乐中的音阶一样,这个公共入口空间起到了引导整体设计中其他空间的作用。这是一个安静的前院,由一些方块状的、令人心旷神怡的绿地构成,从某些角度看过去,这块几何化的方格网绿地使人产生比实际拥有更大绿地面积的印象,甚至可以联想到附近的农田。在你的视觉画面中,恒定不变的是场地中心高耸的石塔主雕。在这个令人激动不已的作品中,这个序曲空间尺度不算大,但它却起到了作为水景区的起点和指向作用(图3)。
500){this.width=500}" border=0
图3 序曲阡陌
(2)楠木园
楠木园内楠木树整齐排列的种植方式,使人联想到附近农田中整齐排列的果树。这个地块的特性也会使人想到它所在地域的农业传统。在楠木园中有多种观看河水的角度。沿着楠木园的一侧放眼望去,视觉焦点处的雕塑凸显于场地的中心。楠木园的“边界”是由导水渡槽的石质漏墙定义的, 漏墙从南边的地平,斜向向北延伸,终结于30m高的石制水塔(图4)。
500){this.width=500}" border=0
图4 楠木园
漏墙是步行者在不同地块间穿行的“屏风”,也是不同空间之间的过渡。漏墙这种形式的设计灵感来源于都江堰大坝的竹笼(图5)。楠木园靠近城市一侧则是城市的肌理,北部边缘的一侧就是与主雕和水景相结合的下沉式广场。
500){this.width=500}" border=0
图5 楠木园中的漏墙
(3)水景区
都江堰广场的高潮景观是坐落在中央位置的水塔。它是一座30m高的规则式雕塑,漏刻的斜向网格肌理,象征都江堰水利工程中用来装卵石的竹笼,或许可抽象点说,它好像在回应着从都江古堰传来的水声。雕塑下水池中的红色卵石让人想其岷江中的河卵石(图6)。 对广场的使用者——人民大众来说,他们能否理解这个设计作品中的象征意义?或者说作品本身能否使大众对多种水元素使用的设计进行思考并因此陶醉于当地的历史?白天,各时段的广场使用者证明了设计作品的成功,甚至在四川10月阴冷的天气里,广场仍然有大量的人流;晚上,许多人们在广场中散步,并把中央水景雕塑(水塔)作为背景拍照。
500){this.width=500}" border=0
图6 水景区水塔
中央水塔中流出的水汇入小溪,沿着线形漏墙蜿蜒流淌。花草树木顺小溪边沿生长,产生与主体雕塑周围的硬地景观完全不同的景观体验。 视觉焦点景观南面是一组网格状喷泉,涌泉、雾喷等,为太极拳的晨练者创造出一幅超现实的奇妙的场景。围绕广场,将有大量建筑以这个广场为前景兴建,使广场更加夺目动人。同样,一旦将来其周围出现新的建筑物,下沉式水广场的设计意义将会越来越多地得到体现。
(4)盒子
广场东北部桂花林和林下的多个围合空间是整个广场的另一个兴趣点,它为人们观赏水景、集会活动或即兴表演提供了场所。那些方形的围合空间,为人们游憩休闲提供了理想之地。向前走是用树丛和巨石构成的有趣的小型私密空间,这似乎为人们追忆那个古老的水利灌溉工程提供了一个场所。 我觉得这里特别有意思,因为这里能听到两侧河水的浪涛声,观赏水的汹涌澎湃,这些巨石正来源于它们之中,真是一个奇妙的空间。大树提供了充足的荫凉,让人体验到在大自然中的享受(图7)。
500){this.width=500}" border=0
图7 盒子空间
(5)绿与蓝的对比区
“绿与蓝的对比”区域位于广场的西南部,它实际上是个隐喻,比喻的是农业和都市生活之间的对比。大面积的绿地被视做农业的象征符号时,它与附近包括露天舞台、金色天幔和更多城市化硬质景观形成强烈对比(图7)。城市化部分的区域经常被用做太极拳的场所和其他娱乐形式开展的地方。公园将有机地融入到城市肌体之中,从这个意义来说,这一区域的设计是成功的。
500){this.width=500}" border=0
图8 绿与蓝的对比区的金色天幔
每一个区域,都有多样化的空间,有充足的面积供人们散步和聚会;在设计的尺度方面,人本身是参照体。对软景观和硬景观的区域进行系统设计,合理分布。水元素被进行多样化地运用,丰富多彩的水景观设计贯穿其中,包括几何水池、流线形的小溪和各种喷泉。附近河流中的水浪声在各种不同地块之间形成了有趣的听觉联系和背景,
在其细致的设计中能使这种感觉获得最大的体验。
2.2 场所的营造和城市复兴
水作为主导景观元素,其设计灵感来自都江古堰的启示。劳伦斯·哈尔普林(Lawrence Halprin)从当地的高脊山脉(High Sierra Mountai )山区获得灵感,这种灵感仅仅用于跌泉的设计。他的公园和广场的其余设计中都是将水作为景观焦点来使用的[2]。他的城市公园广场设计与当地的城市肌理是紧密联系的,但并没有浸透当地的文化内涵,然而,
的设计却深刻地蕴涵了当地的文化。
都江堰广场的设计被地域场所的文化气息和乡土气息所强化。这个设计作品与邻近河渠中奔腾的水流、浪涛声和各种设计元素有机地融为一体。水元素的引入和所有
引入的设计形式:雾喷泉、主雕塑、小溪、下沉式水广场等等,构成一部交响乐,讴歌着都江古堰的水利盛事。
水元素的使用和当地现有的关联背景使这个新的城市公共空间具有强烈的个性。这个最新创造的个性,昭示了作为景观设计师和城市设计师的一个重要职业重任:场所的营造。这个新景观为城市的建筑物和都市风貌提供了一个独特的景观背景,并大大增强了城市本身的特色。都江堰广场的战略地位为城市再生提供机会,并在使都江堰成为国际旅游目的地的努力中发挥重要作用。
①See Chapter 5, Ancient Sichua and the Unificatio of China, y Steve F. Sage for a comprehe ive discu io of the Duijiangya inceptio and relatio hi to land reform, endeavor i war and agriculture.
②See Chronology i Lawrence Halprin: Changing Places
参考文献
[1] Baker, Alan R.H. 1992. Introduction: On Ideology and Landscape. In Alan R. H. Baker
and Gideon Biger, Eds, Ideology and landscape in Historical Per ective. Cambridge: Cambridge University Pre .
[2] Fried, Helene 1986. Lawrence Halprin: Changing Places. San Francisco Museum of Art,
San Francisco, California.
作者简介
(美)玛丽·帕多瓦(Mary Padua),香港大学建筑学院教授。在成为全职教授之前,曾在美国加里弗尼亚,香港的政府部门和私人事务所从事景观设计和管理达二十多年。1978年获加州伯克利大学景观设计学专业学士学位,1984年获加州洛杉矶分校建筑学与城市设计硕士学位。研究兴趣包括当代景观设计和城市环境中的乡土景观。
译者简介
刘君 / 1980年生 / 女 / 四川成都人 / 四川行政管理学院旅游专业毕业 / 就职于
,从事翻译与国际联系工作。
( Sun, 5 Dec 2010 21:41:18 +0800 )
Description:
2月5日
《街道的美学》the aesthetic tow cape (日)芦原义信——笔记二
二 街道的构成
1 街道与建筑的关系
在城市形成是能看到街道的意义并富有强烈感情的,主要是拉丁民族,盎格鲁-撒克逊人次之,日本人可以说最差。特别是意大利人,街道就是他们生活的一部分,不只是为了交通,还是作为社区而存在的。
英国是不希求城市社会模式的,因为没有比他们更加热衷于田园生活的了。他们对城镇也许很忠心,但他们对于街道——那里倒是很优雅——却并不怎么热衷。
意大利人不但建造了街道,还把城市空地建造为人们会面的场所——广场。英国人则建造了人们不会面的休息场所——
美国住宅的前院与其说是供居住的、私用的内部秩序空间,不如说是属于公共性的外部秩序。外部秩序渗透到内部秩序之中。
日本的庭院是私用的内部秩序的一部分,他和公共的外部秩序之间,存在着围墙这一边界,可以说是对街道的构成未作出贡献。
希腊和意大利的街道,建筑的边线构成街道,建筑直接面向街道,将私用的内部秩序渗透到外部秩序中
作为街道来说,或是由于美观,或是由于富有人情味,均能吸引人。
“物质性贫民窟”——发展中国家
由于老朽、过密及上下水道尤其是排水设施不完善,在物质上不卫生、不健康的城市环境。
“社会性贫民窟”——工业高度发达的社会
居住和城市设施都很完善,但由于对近邻的不关心和疏离感,而造成经常发生犯罪的城市环境。
“社会性贫民窟”的产生,是由于功能分区太绝对和街道构成的不恰当造成了“死角”这一不安定的空间。
street watchers街道监视者
(突然想起有一次石库门的考察,无意之间引起了某居民的警惕,很是称赞,想来现在的生活方式,只是更多的疏远,缺乏安全感)
2 街道的构成
意大利的空间,内外空间有反转的可能性。意大利的街道和广场对意大利人来说是生活的场所,由于一视同仁的使用住宅的内部和外部,其生活才成立。
3 宽与高之比(D/H)
建筑高(H),道路宽(D)
D/H1 有紧迫感(中世纪城市约为0.5)
D/H=1 关系匀称(文艺复兴时期的城市约为1)
D/H1 比值越大越有远离感(巴洛克时期的城市约为2)
建筑高(H),视线距离(D)
人看前方是成仰角40度,H与D的关系就在于能否看到建筑的全部。
4??广场的美学
从空间构成上来说,广场应具备4个条件:
1 广场的边界线清楚,能成为“图形”,此边界最好是建筑的外墙,而不是单纯遮挡视线的围墙
2 具有良好的封闭空间的“阴角”,容易构成“图形”
3 铺装面直到边界,空间领域明确,容易构成“图形”
4 周围的建筑具有某种统一和协调,D/H有良好的比例
从边界线向心收敛,边界即使建筑的外墙,又是广场的内墙,建筑外墙有门窗等开口,使建筑内部与广场相互渗透,若不渗透,就犹如监狱内院空间了。
广场是居民生活的场所,热闹、有生气的空间,而不是单纯的封闭空间。
5 阴角空间
阴角——内侧凹进去的空间
转角围得牢实即形成封闭性强、亲切的令人安心的空间。
道路两侧的建筑只要局部后退就能形成阴角空间。
6 下沉式庭院技法与密接原理
地庭院技法——由于用外墙代替周围的建筑强调了转交,就较容易保证意大利广场那样的空间充实性。洛克菲勒中心
“密接”immediacy
日本的传统造园技法下,市中心规划的
,多把他们处理成在领域上自身独立的空间,围墙、大树、栅栏等或者道路做隔断。这样的园林或者
内部虽可以造成隔绝周围道路噪音的寂静空间,却孤立于周围的环境之外。
1所谓空间的密接
视觉上联通、靠近、可及
2 所谓的“袖珍
vest-pocket park
paley park
古林埃卡
波特兰lovejoy plaza forecourt plaza
夏特尔市 seattle freeway park
7 第一次轮廓线和第二次轮廓线
划分建筑外部与内部的边界线极为重要,由于他的不同,建筑的外观以至于街道的构成都会迥然不同。西欧的建筑多以砌筑的砖石墙构成边界线,街道的构成也很结实。
决定建筑本来外观的形态——第