QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3279|回复: 10
收起左侧

[已答复] 求助:帮忙开发一个AutoCAD小程序

[复制链接]
发表于 2010-6-3 14:58:03 | 显示全部楼层 |阅读模式 来自: 中国广东佛山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
各位高手:
/ P* N+ n6 \6 V" s帮忙写一个小程序,lisp就可以,
$ |# ?( L5 P1 w3 K/ b% v0 S7 P如图,实现现有所有标注样式的前导不消零,后续消零,因为我们有图纸是从SolidWorks转为AutoCAD的,有这个需求。AutoCAD版本是2008的。
& r7 f$ ^3 p+ E1 _! t4 P谢谢各位了!
  |, s! L( ~7 }% E6 R长期在线等!
1.png
发表于 2010-6-3 16:05:53 | 显示全部楼层 来自: 中国台湾
后续消零2 y: T* j/ u' j4 G( u7 Q, W! ?5 N
DimZin ==> 8: s, Q4 p2 n; o) P/ L
=================
  v) B: F. U9 d  w+ S# h& Y9 s, u; fDIMZIN System Variable7 I) l; O1 t4 M
...
) z4 |& Q* `: j# J: u8 Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5) 4 Z, R! D" N" e) ~+ H! J
....
0 ?: `7 A& }8 n; _0 I1 J+ \+ S6 B1 X7 @, q
DIMZIN also affects real-to-string conversions performed by the AutoLISP rtos and angtos functions.
 楼主| 发表于 2010-6-3 16:40:40 | 显示全部楼层 来自: 中国广东佛山
2# SunVei
  P& ~5 H# k. y, H' ]+ v1 R$ G8 g: S1 f
能不能详细一点,帮助上也是像你说的,但是不能用,能解释一下么?
# d& J: _. x, V最好可以有个小程序。9 R( ]+ {7 x6 Y! I) W( X
还有前导不消零怎么实现?
发表于 2010-6-3 18:43:24 | 显示全部楼层 来自: 中国台湾
但是不能用!?
/ M0 G7 |" G- N' L& Y4 d0 W. x: G挺纳闷底....
. t* Q) ]( S0 ^% }- t* k4 y" X! E4 g' I6 P! o
得就您的文件来比对系统变量值了 (Required *.Dwg)
 楼主| 发表于 2010-6-4 08:38:47 | 显示全部楼层 来自: 中国广东佛山
4# SunVei ; [% j8 A6 p. ?0 L: D3 B
还是谢谢了!
发表于 2010-6-4 09:04:20 | 显示全部楼层 来自: 中国台湾
Command: DimZin: C3 H! _9 H8 X
Enter new value for DIMZIN <0>:
' n9 }4 C7 W3 _: I8 r; `2 T2 D5 G0 t$ n' Z0 C. A
0 Suppresses zero feet and precisely zero inches
5 B9 L( K: X* W3 `4 y+ P, [1 Includes zero feet and precisely zero inches
* B% k6 q" K/ t. {2 Includes zero feet and suppresses zero inches
# {. b1 P4 U7 n2 `  j0 \3 Includes zero inches and suppresses zero feet
7 R7 k# f$ t; N  K/ [" A( ]; p4 Suppresses leading zeros in decimal dimensions (for example, 0.5000 becomes .5000)
, K3 T+ q; l' {8 Suppresses trailing zeros in decimal dimensions (for example, 12.5000 becomes 12.5) ; H0 x- @2 Y' z7 \) ]1 O
12 Suppresses both leading and trailing zeros (for example, 0.5000 becomes .5) , X; C. p/ Z- u

+ _8 w$ f9 [5 ]  Z$ z+ M==> 若为 4 前导消零

评分

参与人数 1三维币 +5 收起 理由
唐昕晨 + 5 技术讨论

查看全部评分

 楼主| 发表于 2010-6-5 11:22:04 | 显示全部楼层 来自: 中国广东佛山
6# SunVei
( f, s6 ]  @' a( m6 Q. v( |! Y7 L这个我以前就试过,对于现有的标注好像也没有效果!
发表于 2010-6-7 19:58:46 | 显示全部楼层 来自: 中国河北保定
用vba怎样做呢
发表于 2010-6-7 23:23:15 | 显示全部楼层 来自: 中国广东惠州
本帖最后由 woaishuijia 于 2010-6-8 07:31 编辑
! `3 `- U8 T* I! A! A$ j" k/ d; |8 u3 ]+ C$ o
以下是VBA' H# }8 o! T0 c1 u8 x

  1. ( W! q' Y' m' P: v4 M9 N
  2.     Dim DS1 As AcadDimStyle, DS2 As AcadDimStyle
    1 H, I7 {# p6 [1 M* M' b: X6 @0 @8 X5 r
  3.     With ThisDrawing
    - W( D; Z, h/ M- x  x
  4.         Set DS1 = .ActiveDimStyle
    3 W" r1 E% p  Z: Q" w
  5.         For Each DS2 In .DimStyles) O5 b# \9 E4 I3 s
  6.             .ActiveDimStyle = DS2
    5 O, w3 O7 ~/ A: ^! W3 @. Y3 p
  7.             .SetVariable "dimzin", 8% y) O( m) }+ ~7 B1 O9 _# r3 t) Z1 R
  8.             .SendCommand "-dimstyle s " & DS2.Name & vbCr & "y "
    3 Q4 H) L! K9 ~3 T# l) |
  9.         Next1 f$ P% e6 J9 f8 ~8 ?
  10.         .ActiveDimStyle = DS1
    8 S8 f5 T& p* h1 y9 a
  11.     End With) P) `! ]* {! P  u1 V
复制代码
4 N9 A) N6 r; [8 L; `$ b0 r7 q
以下是LSP
3 u4 K2 y$ J* ~# w* n' Q# l

  1. $ a4 w" R% I# {" d, w7 J: X
  2. (defun c:aaa(/ dimstylelist dimstylename)
    0 k, O6 C6 W2 Z$ K/ V1 J, j
  3.   (setq dimstylelist(tblnext "dimstyle" t))% D1 Q* j( L6 s! K5 d: A0 e$ S
  4.   (while dimstylelist# g' o/ a6 _+ V& V3 h
  5.     (setq dimstylename(cdr (assoc 2 dimstylelist)))' ^1 C+ @- N. G$ }: ]3 `1 n7 |3 x
  6.     (command "-dimstyle" "r" dimstylename)* D9 }% m% {* E& N
  7.     (command "setvar" "dimzin" 8)0 S: B, T& I; f
  8.     (command "-dimstyle" "s" dimstylename "y")      + R$ [* U( ?+ h
  9.     (setq dimstylelist(tblnext "dimstyle"))
    5 ?& C+ _2 z4 S
  10.     )  O- l" K* q, m: D
  11.   (princ)
    + U2 ]- c) p4 m& x$ u
  12.   )- w0 f# I) z2 T$ U5 s
复制代码

评分

参与人数 1三维币 +5 收起 理由
唐昕晨 + 5 应助

查看全部评分

 楼主| 发表于 2010-6-10 09:38:50 | 显示全部楼层 来自: 中国广东佛山
本帖最后由 bigbridge812 于 2010-6-10 10:03 编辑
9 ^% j$ t; |0 e( x# r6 E* N5 _' W0 n5 ~
怎么评分啊?
; o/ J  e, ]1 t& }7 A感谢9楼!谢谢了
 楼主| 发表于 2010-6-10 10:06:26 | 显示全部楼层 来自: 中国广东佛山
利用9楼的程序框架还可以进行各种设置,非常感谢!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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