|
马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
2 .3沿曲线标注& [+ ^' \' r% O* k
在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。
% h' F; w" L4 O5 k; w3 n: u" G 2 .4表格生成
# `( U' N* F, j) t: Q& x AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:/ P: T, H6 f+ p0 R# K2 W4 ~& M
(1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。! ?. A8 F) A8 z! J, T
(2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。( m/ G- T6 Q: |& w% X+ ]
(defun C:mtab()9 O6 z$ F6 e. A% G, h5 x. Y9 E8 H
(setq tb1 nil tb2 nil tb3 nil); v1 c% M5 h8 B; ~: i* b
(setq rows (getint "表格行数"))
# W+ f0 e8 o/ _5 s/ g6 o (setq cols (getint "表格列数"))
6 o. g s2 N7 n' x& d (setq rowh (getreal "行高"))- A6 D! `& `- x+ w% r2 Z
(setq colw (getreal "列宽"))! r3 B7 G! v- S0 _2 Y) Q
(setq p1 (getpoint "/n表格左上角点位置:"))3 b+ m/ d% g7 |' ~, P9 Z
(command "pline" p1 "w" "0.5" "0.5"( [- }6 L% O/ ~' c% h
(setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))' z& ~+ i I6 u$ s
(setq p4 (list (car p2) (- (cadr p2) (* rows rowh)))), g/ \* E9 ]( s* z
(setq p3 (list (car p1) (- (cadr p2) (* rows rowh)))) p# y' q) e) x5 P# V7 |
"C" )
" G) b( y; K( O A W- h# @/ L' ] (setq n 1)
" l% z" D) t% P- M3 q9 I (while (< n rows);绘水平线表格$ k! |2 p1 z6 s1 H0 h9 t
(command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"8 b' o2 c6 _! r9 u" `. a0 S6 {: _
(list (car p2) (- (cadr p2) (* rowh n))) "")$ r6 O2 M: _& X4 y {
(setq n (+ n 1))
+ N" V2 `. q6 s )( J( b! T# j$ @( ^
(setq n 1)* Z) M2 p- N7 W
(while (< n cols);绘垂直表格线- Q9 a+ u6 J" T
(command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))
; \& s- _0 ~4 b% \- s5 z4 n5 O "")9 F: S. j0 j0 g# O8 f
(setq n (+ n 1))8 {1 D2 R: G% U4 ~* d) U5 Z
)
; [6 S9 L5 Q2 y6 K" s7 g (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))
, H8 \1 p* a( N( M6 q (+ (cadr p1) 5)) "3" "0" "TITLE" )3 `6 m. O7 Q6 J+ }
(setq n 0)! o( q0 Q) o8 m- N0 |
(while (< n rows)) p' k/ R, n. `" N2 b
(setq m 0)! C+ o5 E8 } m) p8 w# L2 n' j
(while (< m cols)
- K4 n+ ?' h' K6 W (cond
+ _+ X, Y# m% Q% U" c# L8 E8 M* b ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26))))))))
3 O9 W* U( ^. n; v( ]% l1 J )
$ s/ f, \: ~4 Y& r) Z (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注
, e$ ?. | m* _6 t3 ^8 g6 ] (- (cadr p1) (* 0.5 rowh) (* n rowh)))
3 b C$ m3 j$ [; W$ r: p! X* z (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))- _8 N( N5 `9 l/ r: u
(setq m (+ m 1))
- ^. R( n7 n/ i* E: F7 P )
% s* [& j) S2 \ (setq n (+ n 1))
! M! r! \9 Z; O ))3 y4 s! j9 g' W4 K
2 .6高程小数位数处理6 l! {& A9 n3 `: j6 L4 A' S
尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。
; O: {2 P7 i% y8 Z, t (defun entsgc()
( ]8 }% q) z0 n (setq n 0)
8 a* I! M1 E' X) V+ \ (setq sh (sslength e1))
5 ^: B! B9 W0 f6 e5 x' n, x5 C K
! Y! I+ s; u' }% L, I (while (= c "0") ( |
|