找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 264|回复: 0

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

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

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

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

×
  2 .3沿曲线标注- [, X, L2 _: A9 z# f' g: U
  在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。2 V' Y% h# Z; U
  2 .4表格生成5 q1 r7 K, n8 e3 t$ ]
  AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:* R7 D6 q- B! h% Z% L, [
  (1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。9 D' N( r6 }8 K5 k. m& d/ _7 f9 n
  (2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。
1 j; J8 q6 }  s2 |  (defun C:mtab()1 T& Q' [+ i9 o( l
  (setq tb1 nil tb2 nil tb3 nil)
" s6 d+ ^$ ~( P" Q) \1 y- M9 F; i. c, c  (setq rows (getint "表格行数"))- \% Z6 @& y5 I" ^+ T; M
  (setq cols (getint "表格列数"))
/ V) H' J: i) {1 ?( J. j. \  (setq rowh (getreal "行高"))9 r9 {2 S6 L% ~$ c2 U* n
  (setq colw (getreal "列宽"))
) ?) {/ Q8 W; _1 L' I# E* h1 ?" f  f  (setq p1 (getpoint "/n表格左上角点位置:"))
  H" U8 ^- U# j& Q: h- o( v  (command "pline" p1 "w" "0.5" "0.5"
; S- {3 E2 u, m4 H  (setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))  g6 T6 h, g% ^3 Y5 Q
  (setq p4 (list (car p2) (- (cadr p2) (* rows rowh))))
! M0 e; K/ x5 i2 p1 D4 I  (setq p3 (list (car p1) (- (cadr p2) (* rows rowh))))9 y" X+ F9 I  h# n' _6 }; k
  "C" )
& g* \; B9 Z/ f' y  o" k( C+ i  (setq n 1)" X* K' r+ j- H) x# K8 o
  (while (< n rows);绘水平线表格
" Q) i; D* ?, F/ T- O: w: H$ [  (command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"
) q2 V- R  V6 P2 H; {6 F$ c0 u" V. ]  (list (car p2) (- (cadr p2) (* rowh n))) ""); F1 Q; d5 o3 {
  (setq n (+ n 1))& ^& j5 ?7 l5 ~, G" o5 z) X
  )8 A6 I5 @5 ^0 m. V/ ~$ U, u+ x- E
  (setq n 1)! ?/ D  J2 n6 O% z  ]! W, r7 w
  (while (< n cols);绘垂直表格线# d( q: c0 }$ w7 e7 K8 A) t( i
  (command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))) r  v- }' |+ `- w
  "")
3 i, D* m3 ~, g( ~0 s+ g  (setq n (+ n 1))& n/ K& ^1 k/ P5 N3 Y4 N
  )) q% v" j# O+ M4 a" l  R
  (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))
- G5 t/ {" ~7 X5 {* O; w4 {3 W7 d  (+ (cadr p1) 5)) "3" "0" "TITLE" )
" {- N% D" j; R% {  (setq n 0)8 E3 a! h) c. A
  (while (< n rows)# M6 E( z' B' `0 f+ E- P
  (setq m 0)
) q3 ~+ A- W8 g, P  (while (< m cols)
! B& G0 @& t$ u9 Z8 C  (cond
3 O3 h0 ?0 ~6 \% G  ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26))))))))5 d3 W# [  s2 ]" u
  )3 H2 q2 g  U: e( J5 B% k
  (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注5 R! u" @  ?( }
  (- (cadr p1) (* 0.5 rowh) (* n rowh)))
3 \0 n" Z3 k5 i. Y  (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))2 }' R5 W' Z5 h, l5 y0 c8 ~
  (setq m (+ m 1))
+ s$ [$ _% ~" L# X. w7 l" t1 _( W  )$ \) z7 m3 D. m1 a/ u! h
  (setq n (+ n 1))" c4 {! F: g8 D1 w8 ^0 X
  ))6 R/ N$ b) x, \' L* x
  2 .6高程小数位数处理
" S8 R8 {6 \; ]0 \  尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。6 ], h- v8 i1 E/ y" f" S' \
  (defun entsgc()% a' V9 p  s& ]; J. @
  (setq n 0)0 X( ^0 l5 h+ c7 ]0 i: b6 M
  (setq sh (sslength e1))
' O4 S3 h$ G5 l" `9 J5 \0 Z5 k7 P5 D) b# W2 A
  (while (= c "0") (
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2025-2-19 07:00 , Processed in 0.141229 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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