找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 263|回复: 0

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

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

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

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

×
  2 .3沿曲线标注! z$ l+ m2 S' V. q! v4 I
  在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。6 ~7 s. B6 z2 F4 ?8 z) i
  2 .4表格生成
' q, e% I- Q! }9 f+ R8 a- ?  AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:% o! L3 o+ E; y: }- ?
  (1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。7 N9 E# l2 D" A2 x5 \7 e- z
  (2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。
( a) Y: @0 ~3 V! Q7 l  (defun C:mtab()  t% e: U# T, t. S* f; U+ q
  (setq tb1 nil tb2 nil tb3 nil)
. y3 a! ~: h! O2 L  (setq rows (getint "表格行数")): V% o7 Q. J% F0 [- q$ f! p" ]1 ?
  (setq cols (getint "表格列数"))
7 P- P4 J" A) D3 j$ ~  (setq rowh (getreal "行高"))
, Y7 ?$ I$ Q0 R" M  a7 B1 H5 T, J  (setq colw (getreal "列宽"))
+ y' n8 \6 t/ c. Z$ b5 I7 r+ H  (setq p1 (getpoint "/n表格左上角点位置:"))
, j; X9 d. V/ A5 {  (command "pline" p1 "w" "0.5" "0.5"
( X) j; A2 V# i7 v6 n  (setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))- s/ i% J# I# }- J9 @
  (setq p4 (list (car p2) (- (cadr p2) (* rows rowh))))
% [3 e/ _- e6 M" {$ B. H3 S  (setq p3 (list (car p1) (- (cadr p2) (* rows rowh))))2 l& a9 E% n$ H! y3 ~* j) }7 `
  "C" )
  F: J5 f6 X* n5 ^( [  (setq n 1)
2 r9 q  A9 }) k/ U4 l  (while (< n rows);绘水平线表格! m% z" i' V& o! U& d
  (command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"* y1 g# g& {7 y. n0 M9 U3 h0 i# x
  (list (car p2) (- (cadr p2) (* rowh n))) "")
) y  I  W& L. J' V( c( G0 P  (setq n (+ n 1))3 h% `7 N/ s' B
  )9 }) I% m. S# z, h  B# @
  (setq n 1)9 H0 [2 r, ^# s6 S: b
  (while (< n cols);绘垂直表格线
. Q& _7 `5 I' M' m2 ]. g( F' e  (command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))
5 ]8 e8 N3 r8 X/ M6 `2 Y  "")
( Q1 w$ K5 |1 `6 W- U' h  (setq n (+ n 1))
& e+ O; A- t& b' c. y  )+ l9 o6 `  I# \$ B2 }; H
  (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))
; [. t' z. W3 i* ~& f0 p; v  (+ (cadr p1) 5)) "3" "0" "TITLE" )9 Z7 ~; Y: T. ~* {( o) D
  (setq n 0)
# ~% r2 \9 {1 ?. Q7 l' K/ N  (while (< n rows)
5 V6 V& d& I8 z) C6 S$ I  (setq m 0)) k. M9 [0 N+ O' d6 f
  (while (< m cols)) s5 m& l# X1 Y! N# ~
  (cond$ E' I+ y) ?9 P5 B" W. S
  ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26))))))))4 o5 u( U/ d! \. y- M# t
  )
/ I. w% V4 x$ ]2 _  (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注' t, i: O. ~  M; {2 X/ _4 \# X
  (- (cadr p1) (* 0.5 rowh) (* n rowh)))
9 }+ I* b9 q, Z- w2 G/ q3 u5 p  (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))# p- }, [7 g1 r* B& G
  (setq m (+ m 1))# Z* d  A# r4 c% ~7 T% L& w
  )
' ?/ i" q' p- }9 N# [- C  (setq n (+ n 1))$ E8 L0 X3 K! _8 o* U" i8 ?1 }
  ))
$ q7 t0 b% w$ M  2 .6高程小数位数处理; u- y# R# n; A, L2 v3 U
  尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。/ I0 V6 }3 @  O: p% O
  (defun entsgc()6 ^& U2 Y* c; a  @$ l
  (setq n 0)
' {/ A# Q. a5 t( \7 e  (setq sh (sslength e1)). Y7 u+ }8 b, Z  M
* \& `+ o/ I; f/ _* W, D! z
  (while (= c "0") (
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2025-2-19 05:56 , Processed in 0.117800 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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