找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 244|回复: 0

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

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

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

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

×
  2 .3沿曲线标注6 V' `: M  Y1 c! ^
  在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。. \( k8 m7 o2 ]/ W
  2 .4表格生成8 P$ t6 ?7 [2 L; p1 h! z7 |
  AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:' c7 S0 p4 r0 A2 i2 j: [
  (1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。
0 @9 S% ?9 W5 n9 I. ]  (2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。
2 z; A0 Z- ~% H8 V  (defun C:mtab()
" O$ |2 V2 N0 S( B. i! C  (setq tb1 nil tb2 nil tb3 nil)- q! D# j* U+ \
  (setq rows (getint "表格行数"))! k) t$ v  n" l" X+ i9 V
  (setq cols (getint "表格列数"))
% ^( j1 j! q. ~5 Y: ]2 C  ^  (setq rowh (getreal "行高"))
# W7 W" q; C* _8 J0 B# K  (setq colw (getreal "列宽"))
2 C$ C; m0 X( d" b; V  (setq p1 (getpoint "/n表格左上角点位置:"))
9 m$ D- E2 p0 ]  (command "pline" p1 "w" "0.5" "0.5"% E- `, k/ s) g  d1 \. A) Q
  (setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))
. a4 ]- R- ]" }  (setq p4 (list (car p2) (- (cadr p2) (* rows rowh))))
3 G3 g5 Y) I- A$ I( d  (setq p3 (list (car p1) (- (cadr p2) (* rows rowh))))
8 k, y( b% h# s  "C" )
9 Y- e" O, U2 r* B  (setq n 1)* k1 {6 C9 a4 R
  (while (< n rows);绘水平线表格  x% K$ s- B& w3 G
  (command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"
& q+ K* {) k1 [/ |. F1 U5 v0 C  (list (car p2) (- (cadr p2) (* rowh n))) "")
! r$ `1 ~8 a, {6 x9 U% T  (setq n (+ n 1))' L4 k# C6 P) Z5 a
  )
7 x/ ^" f, \; P  (setq n 1)
" a" \0 ^9 X9 c* i  (while (< n cols);绘垂直表格线
8 m7 ?: G$ j1 U5 c3 H; v: @  (command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))& W  v& H+ d  {% C  }
  "")# `. G7 u. }' B' |6 d1 D
  (setq n (+ n 1))
3 N$ a, d' a9 F) k( Y* z, n! g9 F/ Q  )
, I$ c2 R* M$ _& ?* t  (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))/ O# o3 _- e0 ~/ A& C+ M2 }
  (+ (cadr p1) 5)) "3" "0" "TITLE" )2 j# h8 l8 B% m* t- [+ m& Z9 [* ~1 D/ F
  (setq n 0)1 s% |6 _, u! [/ \" ^
  (while (< n rows)
5 n3 x4 a/ d- @9 ~. Q% |$ c, `  (setq m 0)
" u2 ]- y7 r3 y! `1 V  (while (< m cols)* k/ }* _: @9 c5 U3 Q% x1 m1 B* X
  (cond
4 `$ _8 ?9 t1 ~; Z6 {5 J  L  ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26)))))))). d0 u) M2 A( _# v" G' Q
  )0 [" _* X# H( O% _+ Y
  (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注
/ }0 p' h- d9 D& w1 z( K  (- (cadr p1) (* 0.5 rowh) (* n rowh)))
/ H! E5 \& \3 E: A  (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))
& V4 ]$ P* N" i' r* Y. C/ \  (setq m (+ m 1))
( s! f9 N! d6 C& u4 e9 v  )5 h; g, j0 l) j3 O: ^+ K6 l
  (setq n (+ n 1))
2 k8 Y7 G+ J# @6 r7 e& j: ~6 l  ))% p2 e# W! q4 B( v
  2 .6高程小数位数处理5 @. v2 [% N  t( S0 ~( s
  尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。3 d6 [+ A$ m1 n9 I6 {- {& w/ X1 [
  (defun entsgc()$ q( B9 k! p( Y% r5 J
  (setq n 0)
1 e1 t8 m8 m- H0 |! u/ r3 w' G  (setq sh (sslength e1))
  N4 o/ O& \  F& P# Z' j+ g2 ~+ N! r# c7 ]: I
  (while (= c "0") (
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2024-11-16 03:25 , Processed in 0.123689 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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