找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 254|回复: 0

基于组件的三维CAD系统开发的关键技术研究(三)

[复制链接]
发表于 2011-6-18 09:25:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  2 .3沿曲线标注0 M, Y" {2 |1 u$ |4 I+ G
  在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。
! u6 ~5 F2 z% y4 j8 t# H+ p9 c. b  2 .4表格生成
7 _: l: c/ s$ @( P) L; ~' R9 N$ {  AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:2 P) k) E: |6 G- L: P7 A0 u
  (1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。
/ C! z8 u0 W, W" p$ `5 Z  (2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。9 x0 F* Q8 O4 K( g
  (defun C:mtab(): {! ~! D) Y4 {/ x2 M
  (setq tb1 nil tb2 nil tb3 nil)
5 z6 A7 C8 Z2 X& g, ?& G  (setq rows (getint "表格行数"))" D9 o0 I% b8 U) i4 C
  (setq cols (getint "表格列数"))1 u* V+ M8 C2 ]8 q
  (setq rowh (getreal "行高"))/ @7 _" t+ a. J7 q8 }
  (setq colw (getreal "列宽"))
+ N( [& U$ E6 @! `7 N  (setq p1 (getpoint "/n表格左上角点位置:"))
; i) ?* m" T$ Q0 R5 o: v  (command "pline" p1 "w" "0.5" "0.5"+ E9 n8 `/ K8 t( l( l
  (setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))& N/ @  q, m7 R( o
  (setq p4 (list (car p2) (- (cadr p2) (* rows rowh))))
9 |1 L3 S" ^( O6 I* R  (setq p3 (list (car p1) (- (cadr p2) (* rows rowh))))- n: s0 b1 T# \" m
  "C" )  P1 W. M# ?- K1 b, x
  (setq n 1), d% g; B$ r" ^. e4 `* U
  (while (< n rows);绘水平线表格4 J% \' `- z/ f# R  ^0 V
  (command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"  r8 h4 |$ q) Z  [
  (list (car p2) (- (cadr p2) (* rowh n))) "")7 g7 [7 A$ d0 `$ T3 N
  (setq n (+ n 1))
# X1 |! f! P  e5 j9 Z9 N$ L  )
! z6 e4 ^7 O6 Y. E8 X% t: R9 m, e  (setq n 1)
. e- W1 @  o2 k% i2 T  }  (while (< n cols);绘垂直表格线! ]9 T$ U$ s3 P) X, Q3 O
  (command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))
9 K' o7 v. V7 j$ D6 P5 Q+ l- |  "")
( g2 J5 }* p  [' @  (setq n (+ n 1))
" g4 ?5 G+ u* T  )
& \( m4 r" r$ R8 A2 v+ s" X  x  (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))
. h8 q0 e; {) ~8 d! c  (+ (cadr p1) 5)) "3" "0" "TITLE" ). a8 c: Z0 b- o4 u7 l/ W
  (setq n 0)( i' |3 A1 K/ G0 E* m/ Z  V
  (while (< n rows)
9 `1 V" f0 V! s3 S  (setq m 0)+ ]2 D9 b5 m& T
  (while (< m cols): ^" }. X" H1 I  Z  v6 n7 _, [" H
  (cond: M% S( u: }+ y8 o7 |
  ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26))))))))
( I1 x0 z# t3 o7 y  )
4 K, k3 [! L2 x  (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注. _- ^8 b) L6 Q* C
  (- (cadr p1) (* 0.5 rowh) (* n rowh)))
0 g3 |8 C% Q  _; n9 ~: {! f2 {0 P8 y  (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))
- |. H) _4 u/ ~- r; s  (setq m (+ m 1))) M( _3 J( t( K; B: x" u
  )
2 @& s- H$ c/ s$ q  (setq n (+ n 1))% Y$ b  L9 E. q
  ))
7 w8 [9 r& ]& H0 }, x) e  2 .6高程小数位数处理; C: `" m! A1 P. x6 _; B: e3 O5 f( p
  尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。4 N- D+ I3 C: M1 M0 c
  (defun entsgc()( @- e1 z% r: E' c
  (setq n 0)
% c# `5 {4 d  l; W! Y/ o1 N  (setq sh (sslength e1))3 J+ K4 F5 S4 ~1 F9 o+ C
: n: l2 e) i! k( l7 F4 t5 M
  (while (= c "0") (
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-1-19 03:58 , Processed in 0.181991 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表