找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 240|回复: 0

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

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

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

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

×
  2 .3沿曲线标注
& U: W* {1 b, V  |; l  在设计中会遇到沿给定曲线进行标注问题,如平面布置图中的开挖线符号沿开挖轮廓的标注,剖面图中岩石符号沿轮廓线标注、点筋标注、沿任意曲线进行汉字标注等。此类问题主要应用AutoCAD的Measure或divide命令来解决。两个命令的主要差别是前者按指定的长度在曲线上标注,后者按给定的分段数等分曲线并在等分点处进行标注。要标注的轮廓曲线最好用pline线,要标注的符号预先做成图块,图块采用单位块,执行measure或divide命令,选取要标注的曲线,指定标注符号,分段长度或分段数即可完成标注,当发现标注的符号太密或太疏时,可以执行erase命令选择P进行删除,比例不合适或符号方向不正确,可以利用特性编辑器,选中所有标注符号,对标注符号的比例和旋转角度进行调整,直到满意为止。对于更高级的应用,可以编制LSP程序,实现符号和文字沿任意曲线标注。
: H2 i7 }: l; Q0 `- ~  2 .4表格生成
) C. @8 R4 R4 x* B+ J7 t* G  AutoCAD本身没有表格处理功能,设计图纸中工程量表、钢筋表等涉及到表格生成的问题可以采用以下方法处理:
0 T# t2 Z3 k  @  (1)直接把Word或Excel文件中的表格直接粘贴到CAD图形中,修改时只要双击图中的表格即可进入Word或Excel中进行编辑修改,修改完成后退出即可返回到AutoCAD中继续进行设计,该法优点是方便,快捷,易于掌握,可以充分利用Excel的强大计算功能。缺点是表格在AutoCAD中并不是一个普通图元,无法利用CAD功能对表格的字高、颜色和线宽进行编辑。
' b2 s% Y) B2 z6 q: ?3 H  (2)编制LSP程序,依次输入表格标题、表格行数、表格列数、表格行高和列宽以及表格插入点等参数,可以自动生成表格,表格中已经按仿Excel形式填入了文字,可以用字处理软件对表格中文字进行编辑修改。
1 W$ B% v: D) E+ p! [3 {  (defun C:mtab()5 Z. P& A+ w) @, b2 k) z
  (setq tb1 nil tb2 nil tb3 nil)' {( n8 c: p- I$ x0 t) r& T
  (setq rows (getint "表格行数"))" {, D2 E3 H0 ], F# q
  (setq cols (getint "表格列数"))
, N9 C& b& {! |# [# q: O' @  (setq rowh (getreal "行高"))' q% S* V: h& h* T- a1 d8 s8 G' R4 r
  (setq colw (getreal "列宽"))) n8 @# ]9 q" [+ d! M
  (setq p1 (getpoint "/n表格左上角点位置:"))) h0 o# \; w1 ]2 d6 u! `6 g
  (command "pline" p1 "w" "0.5" "0.5"8 G) Q0 a4 P7 A0 U
  (setq p2 (list (+ (car p1) (* cols colw)) (cadr p1)))
# J& {: ^* w4 J8 u6 G8 U& S% B6 ?) }  (setq p4 (list (car p2) (- (cadr p2) (* rows rowh))))
8 G5 Q3 R% C: s' k  l  h( K  (setq p3 (list (car p1) (- (cadr p2) (* rows rowh))))
/ m6 q6 l7 P1 g! @# [2 Z, h  "C" )2 J9 h0 i" y7 Y2 D) G
  (setq n 1)9 o0 b0 W# P& A8 ?% }+ J9 w
  (while (< n rows);绘水平线表格" {9 g/ v' p' m2 U$ P: l  w
  (command "pline" (list (car p1) (- (cadr p1) (* n rowh))) "w" "0" "0"2 y+ w1 A$ n7 X6 F$ Z
  (list (car p2) (- (cadr p2) (* rowh n))) "")# A' j5 z' F( \! I
  (setq n (+ n 1))
5 M9 p0 W9 }8 K" L- u( g0 y7 b( _' H  )! ?% u5 E- M% _% V) ~
  (setq n 1)
2 S7 C# M. `8 w3 s* O. _  (while (< n cols);绘垂直表格线3 b) z) J( f6 b! i2 N% y5 a3 O' }
  (command "pline" (list (+ (car p1) (* n colw)) (cadr p1)) "w" "0" "0" (list (+ (car p1) (* n colw)) (cadr p3))
6 @! [# R, l2 V# B  z  "")$ _: ^1 W. N% m9 {3 v
  (setq n (+ n 1))5 w4 ^1 I" V* o/ H
  )
3 k! ~1 m& k. c# v% G* H  (command "text" "m" (list (+ (car p1) (* 0.5 cols colw))/ f1 b* @# ]. K  t! a: w3 C/ C
  (+ (cadr p1) 5)) "3" "0" "TITLE" )& m( e' n0 a: b3 q0 i5 }
  (setq n 0), A% f  X- [+ t2 ^5 n1 ~$ C
  (while (< n rows)
5 r/ k8 s( D2 w  ?  (setq m 0)5 x' k" y" }. G9 ]: \* T, ?7 ^& J8 @
  (while (< m cols)2 i3 @3 L. n, Y& ]( Q- k2 I
  (cond7 d6 D3 B' F' H+ C/ h, d( [& X/ V
  ((= m 26) (setq bzstr (strcat (chr (+ 64 (/ m 26))) (chr (+ 65 (- m (* 26 (/ m 26))))))))
' ^6 V9 [: d$ L; x3 d# e& W; {  )# K& H, ^1 ]6 C. p
  (command "text" "m" (list (+ (car p1) (* 0.5 colw) (* m colw));表格内容标注) k/ A  z4 u7 B% U: Q1 P
  (- (cadr p1) (* 0.5 rowh) (* n rowh)))
4 D" i9 j1 A; }  (getvar"TEXTSIZE") "0" (strcat bzstr (itoa (+ n 1))))
' \! C+ S9 |, {. z$ S  V; K  (setq m (+ m 1))2 {7 _( m6 L2 G: W; ]0 {
  )* n$ k: D3 N7 `+ f% R: T9 ^
  (setq n (+ n 1))$ b  e! u' D7 g" v
  ))  `7 N; Z* m  l, L4 G
  2 .6高程小数位数处理
) ^) K5 M1 V2 {$ ^- Z' C  尺寸标注小数位数很容易调整,但诸如高程、表格中数字要调整则很困难,借助LSP程序的调整很方便,只要选取需要调整的数字,根据提示输入需要保留的小数位数,则程序自动对所有选种数字进行修改。! p( O0 G/ v  C/ x0 T
  (defun entsgc()
& B# D* q# `2 M$ ]" G7 a  (setq n 0). R- H! y1 Y% d# T# s& S0 W
  (setq sh (sslength e1))
7 o( B* G" @8 T
& @9 ^, G* A. j( h  (while (= c "0") (
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2024-10-24 16:19 , Processed in 0.136682 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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