用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

基于ACAD平台的给排水制图程序

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:52:27
(ssname ss n ))
   ) ;while 语句结果
   (setq n0)
     (if(/=(ntnk2)″b″)(setq 1(entget(nth n k2))(setq 1 nil))
  (while 1; while 语句开始
   ;对所选项的PLINE线实体进行旋转处理,角度45度
     (if(/=(cdr(assoc 0 (entget(nth nk2))))/"ABC/")
   ;if语句开始对复合弧线不处理
   (progn(setq z(cdr(assoc381)))
     p1(assoc 10 1)la (cdr(assoc 8 1))
     m(-(length 1)(length(member p11)))
     p2(cdr(nth(+m4)1))p1(cdrp1)
    ;p1 起点坐标,p2终点坐标
     (setqx1(carp1)x2(car p2)y1(cadrp1)
     y2(cadr p2)dy1(-y1y)dy2(-y2y))
     (setq p3 (list(+x1(*(cos ang )dy1))(+y1z(*(-(sin ang)1)dy1)))
     p4(list(+x2(*(cos ang)dy2))(=y2z(*(-(sin ang)1)dy2))))
   (setq 1(subst(cons 380.0)(assoc 381)1)
   ;修改高度信息
       1(subst(cons 10p3)(nth m 1)1)
   ;修改起点坐标信息
       1(subst(cons 10p4)(mth m4)1)1))
   ;修改终点坐标信息
     (entmod 1)
   ));if语句结束
  (setqn( =1n))
   (if(/=(nthnk2)″b″)(setq1 (entget(nth n k2)))
  (setq 1 nil))
  );while语句结束
     (setq n0)
     (if(/=(nt n k1)″a″)(setq 1(entget(nthn k1)))
  (setq 1 nil))
     while 1 ;while语句开始,对所选的
             ;TEXT、BLOCK、ATTRIBUTE等实
             ;体进行旋转及平移处理,角度
             ;45度
   if(=nil(assoc 111))(setq p1(cdr(assoc 101 )))
   ;if 语句开始
   (if(=0.0(nth 1(assoc 1 1 1)))(setq p1(cdr
   (assoc 101)));if 语句开始
   (setq p1(cdr(assoc111)))
   );if 语句结束,本语句对文字对齐方式的判断,并提取高度和插入点信息
   );if 语句结束,本语句对是否为文字的判断,并提取高度和插入点信息
     (setq x1(carp1)y1(cadrp1)z(nth 2p1))
     (setq dy 1(-y1y)
     (setq p3(list(=x1(*( cos ang)dy1))(=y1z(*(-(sin ang)1))))
     (if (=nil(assoc 111));if 语句开始
     (progn(setq 1(subst(cons 10 p3)(assoc 101)1))
     (entmod 1))
(if(=0.0(nth1(assoc 111)));if 语句开始
(progn(setq 1(subst(cons 10p3)(assoc 101)1))
(entmod 1)
       );end of PROGN
(progn(setq1(subst(cons11p3)(assoc111)1))
(entmod 1)
       );end of PROGN
   );if语名结束,本语句对文字对齐方式的判断,并修改高度和插入点信息
   );if 语名结束,本语句对是否为文字的判断,并修改高度和插入点信息
     (setq name(cdr(assoc 01)))
     (if(=(cdr(assoc661))1) ;if 语句开始,是否为带属性的块
     (progn(setq11(entget(entnext(cdr(assoc-11))))
     (setq p1(cdr(assoc1111)))
     (setqx1(car p1)y1(cadr p1)
     (setq p3(list(+x1(*(cos ang)dy1))(+y1z(*(-(sin ang)1)dy1))))
     (setq 11(subst(cons11p3)(assoc11 11)11))
   (entmod11)
   )) ;if语句结束,修改中属性的插入点信息
   (setq ang(/(cdr(assoc 501))2))
   (setq1(subst(cons 50 ang)(assoc 501)1))
   (entmod1); 通过修改块的插入角度信息进行旋转
     (setq n(+1n)
   (if(/=(nth nk1)″a″)(setq1(entget(nth n k 1)))(setq 1 nil))
   ) ;while语句结束
   (setq n 0)
   (while(<n (sslengthss)); while 语句开始,对名为“ZXR-2035”的块
   ;进行高度平移处理
   (setq stl(entget(ssname ss n )))
   (setq pt1(cdr(assoc 10 stl)))
   (if(/=″ZXR-2035″(cdr(assoc 2(entget(ssname ss n))))); if 语句开始
   (progn
   (setq pt1(list(carpt1)(cadrpot1)0))
   (setq stl(subst(cons 10pt1)(assoc 10 st1(st1))
   (entmod st1)));if 语句结束
   (setqn(+1n))
   ) ;while语句结束
  (redraw)
  )   ;defun 结束

5 实际运用

 本程序通过笔者所在单位这几年来工程设计人员的运用,得到了逐步完善与推广,实践证明,该程序易学好用。故提炼出来与同仁商榷。

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:20,765.63000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号