久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3300|回復: 5

剛開始學習autocad的VBA,請大俠幫幫忙~

[復制鏈接]
1#
發表于 2014-11-12 18:07:54 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
不知道能不能用Macro,或者VBA來實現下面的工作:
1 X) G' z* I; T7 C. e: Q6 B
3 ]& y- B# B: @: |* p6 I& M1.在模型空間,插入一個已經在的 塊,比如:名字為 “KK”, 效果是 能在工具條上創建按鈕, 點擊之后,只需要在屏幕上 點取 位置就能放置 塊(有炸開 和 非炸開兩種模式最好,做成兩個按鈕)。
1 i- j& G* l. K" ~
* T4 H8 ]4 I' f* ^; Z3 |$ F2.在模型空間,進行 指定條件的篩選(2007自帶快速選擇功能),然后把篩選出來的一類目標的某些特性修改為另外的特性, 比如: 選擇 所有 線型=Center 的目標,然后,把這些目標全部移動到 圖層:200, 顏色=Bylayer,線型=Bylayer,線寬=Bylayer。 同樣也做成按鈕,放在工具條上~
. n+ }/ C' ?7 C4 G; Z# Y9 j/ ]" {" C+ a5 J2 Q% O, O
求各位大俠幫忙哈~9 i  ?3 ~" m/ }" L7 b4 u$ q
回復

使用道具 舉報

2#
發表于 2014-11-12 19:52:54 | 只看該作者
Q1:這個我用autolisp實現過,點中自己制作的按鈕,再點選標題欄左下角,就可以在設計欄中插入制作好的簽名塊并在后面寫上當前日期。用VBA應該一樣能行的。8 }. {- J. y- T$ m/ Z' A0 k; d

) F- w3 e  J! E: ~. z" v5 S
3#
發表于 2014-11-12 19:56:26 | 只看該作者
(defun  c:name(/ pt pt1 p1 p2 yy mm dd s text1 osd layer_old rr): v. `, K. Y1 V1 J& Q
  (setq osd (getvar "osmode"))' \& R$ _2 B6 l; f" S, R# }4 P
  (setq pt0 '(142.0 5.0))
4 S, \: K+ g7 i) M; a  (initget 128)
( a7 g. g4 w+ [! l: i7 p9 W/ {  (setq pt (getpoint "\n請選取簽名插入點"))8 A7 K: f; Z4 S# ^& R* h1 a
  (if (= pt nil)
. Z  |1 q0 `6 F9 `# w. U+ i      (setq pt pt0)( S3 J5 d. t  ]
  )
" v, J' J5 `! }8 J4 y            (setq pt1 (polar pt (/ pi 6) 35))2 Q/ g. l5 e# S# c  ^  q
            (setq pt2 (polar pt1 (/ pi 8) 3))
% N7 }1 o) @$ I7 X( A% Y2 S            (setq sse (ssget "_c" pt1 pt2))
! h6 l; H& i) b5 J# m            (command "erase" sse "")
% u; D' [7 q; ^6 m' J# ?; L2 T% k
  (command "insert" "n1" pt "" "" "")9 B- X% _+ F1 g" q' B, K
  (setq s (getvar "cdate"))" B7 F6 R( D' c. S
  (setq rr (- (* s 100000000) (fix (* s 100000000))))
3 P% k' R! j0 C  f# {  (setq yy (fix (/ s 10000)))
: s2 C4 W& E6 F/ U* D  (setq mm (fix (/ (- s (* yy 10000)) 100)))
/ V: j# j; Y2 @: w  (setq dd (fix (/ (- s (* (fix (/ s 100)) 100))))); F3 c% T% A5 C
  (setq text1 (strcat (rtos yy) "/" (rtos mm) "/" (rtos dd)))
/ j; Y+ Y: I( N1 Z  (setq p1 (polar pt (* 41 (/ pi 180.0)) 44.0))
% ?  u+ p: R1 d  (setq p2 (polar pt (* 0 (/ pi 180.0)) (+ 50.0 rr)))
2 S( F! C1 f+ k  (command "style" "txt" "txt.shx,gbcbig.shx" "" 0.85 "" "" "" "")5 N) ~- L" L! d" _$ ^
  (setq layer_old (getvar "clayer"))
, h4 V' U" ]' f  (setvar "clayer" "text")
! A7 _7 D5 T  c  (setvar "osmode" 0)2 ~" @4 g. \' {
  (command "text" p1 2 0 text1)5 T1 y2 U5 e* [3 J5 J7 R4 F# ]
  (setvar "cecolor" "40")) ?" P% a$ q9 a9 g" ]
  (command "point" p2)8 R* t8 M  Q% x- |
  (setvar "cecolor" "bylayer")
: C. A. r8 [0 M+ C  (setvar "clayer" layer_old)
% [& K3 S& t4 X- c5 N  (setvar "osmode" osd)! e1 b- ]- D& N* y, k" O& S
  (princ); I, ^( E( p6 Y7 {1 Q/ {8 X
)
4#
 樓主| 發表于 2014-11-12 20:27:18 | 只看該作者
zsdwx 發表于 2014-11-12 19:56 0 G; J. s8 x1 Z# {6 S: ~8 y" e
(defun  c:name(/ pt pt1 p1 p2 yy mm dd s text1 osd layer_old rr)
5 C' t- g6 ]' q: D& I  (setq osd (getvar "osmode"))7 a5 P, n* j' e! |0 o9 x
   ...
; {; x! [1 c/ C5 u
感謝回復,功能很好,能省下不少時間,不過我才剛入門,看不懂 ~。~/ V6 e, P3 w1 a* v, `
5#
 樓主| 發表于 2014-11-12 21:34:01 | 只看該作者
還請各位大俠幫幫忙哈~
6#
 樓主| 發表于 2014-11-13 18:23:07 | 只看該作者
第一個問題,自己在公司摸索了一上午, 大概能用了,能插入 命名為KK的塊了,但是不會炸開
% C4 m4 G. _/ G# D' ?5 I) W( t直接用宏命令做的,# `. ^8 x) Y5 t; m6 c8 y
^C^C-insert KK \1 1 05 X" P  i7 Y  s1 `* ^  ^
第二個,完全找不到方向~
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-8-25 18:27 , Processed in 0.099530 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表