找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5324|回复: 6

分享两个宏,有详细注解,可尽情修改使用,代码也一起放了。

[复制链接]
发表于 2021-1-13 14:11:47 | 显示全部楼层 |阅读模式

6 r, z8 g' {; ^# a- P工程图转格式:
2 M$ a1 v( B, w' ~: e0 h
9 o( v, ]  E- p' |( l* ^
4 Z8 w8 E) _8 [$ V+ }: C, e7 u8 J# pDim swApp As Object$ l9 H* H+ [1 N! h$ A, q6 `2 w
Dim Part As Object
# k9 S  d0 {* R+ qDim Filename As String9 g. [1 g* k  E7 j5 H' ?
Dim No As Integer
* F; a* r3 P- z. zDim Title As String          '以上设定变量( A+ n# Y! b2 {3 e* v
Sub main()$ n. q+ z: F& J6 n* q% `
Set swApp = Application.SldWorks6 n, a- Q6 x- V  q" G7 ^) D9 r
Set Part = swApp.ActiveDoc                                                  '以上交换数据
: e) |' {1 {7 ?- z( _Filename = Part.GetPathName()                                               'Filename为文件名
, i+ L8 P) G2 X3 GNo = Len(Filename)                                                          'no为工程图文件名字符串总数9 U5 k6 s6 s: c6 h$ [1 z
If No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)
2 s5 j8 h8 a2 p; ]7 \4 c" {8 M' LFilename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要: T2 o( I' Q" Y$ _. m
Part.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)" u( S, \: P  Y" d- z
Part.SaveAs2 Filename & ".pdf", 0, True, False
# @, O( O" ]$ q% u8 P' uEnd If! v2 N& W( l1 d  h0 J3 h$ N* c
End Sub2 p; Y+ r7 V4 t

6 t7 ?4 c! Z& a' I8 Y
5 t/ y5 C& X4 D
! Q( a+ G5 O5 G7 Q属性改写宏:
) d" x8 k# m* ]( j4 C
, k- F0 g4 a! {3 `! P0 O% [- t+ ~/ }( F+ M# z, x

. _) a$ _6 s$ m3 R5 R, H  t! SSub main()8 {. I- `- o# c- D

( X: n, J7 M" a" P# V2 ~Dim swApp As SldWorks.SldWorks
6 U9 g) [# f7 M' w4 mDim swModel2 As SldWorks.ModelDoc28 i7 x- g' ^( L
Dim SelMgr As SldWorks.SelectionMgr
& h( \, d  x; `  IDim vCustInfoNameArr2 As Variant
  ~9 ?+ D$ S7 M+ C* d5 zDim vCustInfoName2 As Variant3 m; @5 t3 F0 V- I, S5 b$ O
Dim CurCFGname As Variant4 T! k/ _' H: }& w$ ~0 A$ H& f
Dim CurCFGnameCount As Integer
. _2 j% |3 x! h. jDim Vnamearr As Variant2 u" Q, u  A0 {$ V5 O( x
Dim CusPropMgr As CustomPropertyManager
% I4 j  O- O6 v$ `2 C  SDim bRet As Boolean
/ ~8 z& I) r, ~) l' w" E9 e9 rDim Vnamearr2 As Variant
+ s8 W4 k# D! I% [( @4 c) N; o7 J4 i8 @1 X& T% x
Dim strmat As String  w6 W. i1 X6 @7 i# w" u) U* t" o6 b% C0 r
Dim tempvalue As String
. h! O* J& D& c" H- m. O3 J1 L# E. `( d
Set swApp = Application.SldWorks$ m( ~# c5 d$ I
Set swModel2 = swApp.ActiveDoc. m9 {7 F: E2 P! E( T0 Y
Set SelMgr = swModel2.SelectionManager '
3 i3 c; D  p1 ]( ?0 k! q
( E& D9 M' a7 |3 b6 Z& K0 iDim tg1 As String
  ~" E3 n+ y! z' M1 gDim tg2 As String
6 ~( g7 A: ?4 u- C, g: p/ r( KDim tg3 As String
& e8 ?* A$ q/ M$ pDim tg4 As String
  G, c7 `4 G, C" O5 U  ]  C" o6 C, ?Dim tg5 As String
$ b( _8 e& B5 I  x* Q' @Dim tg6 As String( {6 K* s' K+ L9 ?7 G
Dim tg7 As String7 s3 ?  B4 g0 {8 F0 I1 A- N
Dim tg8 As String3 D$ a1 z2 W: G4 B8 P, ~% A
Dim tg9 As String; O6 f& ~4 d1 ]  D8 o+ g
Dim tg10 As String
& K6 x% x3 r- G( Q# s, H; k3 mDim tg11 As String
5 Q1 h7 o$ m# XDim wm As String  |( ~* b# ]2 f% f
Dim wm1 As Integer
) F8 K+ W# f! }' @3 ^! g; C8 v, h3 tDim wm2 As String3 K: w' ?9 O0 d, A1 L4 x6 W
Dim wm3 As String
( o; m# x5 _- l# n, v: s# Y/ cDim wm4 As String0 @; [, S8 i7 ?+ I4 u$ Y0 K
Dim wm5 As String
2 j4 J; L% Q1 w* z8 {$ n+ D% g* U& oDim wm6 As String
2 c. r3 h8 }% \- j- r, sDim wm7 As Integer4 ]& G3 _' C/ [; F9 r( t: x. |' g
Dim wm8 As String$ l+ r, ^: G& A3 W; q, P2 l1 L
Dim wm9 As Integer. ~* }8 S1 W, k# T+ P, u+ |
Dim lz As String
/ s$ {( D( |; [7 uDim lz1 As Integer# c% Z, h0 V8 ~% o6 S4 W4 A
Dim lz2 As String2 @* a8 @; {/ S4 y. c# J8 S
Dim lz3 As String, E. W# k) |! F# [: f9 M/ r
Dim lz4 As Integer; E* J. e7 D! N( f
Dim lz5 As Integer4 t6 R& r7 Z/ c9 |7 o1 R% u
Dim lz6 As String+ F+ P/ d9 O! J" j7 J: k
Dim lz7 As Integer                                                                     '以上为设定变量6 S* M2 A, q4 x/ J1 F9 T" G  S( Z
: T' M1 t) X6 Z; Z

# R5 [: u: Q2 R6 s1 WswApp.ActiveDoc.ActiveView.FrameState = 1; z  y, t' ]: n
vCustInfoNameArr2 = swModel2.GetCustomInfoNames3 n4 K7 E* T  c
  If Not IsEmpty(vCustInfoNameArr2) Then: {, S) j5 Y3 b; _* o$ A) O
     For Each vCustInfoName2 In vCustInfoNameArr20 k6 y6 j0 u5 f6 O( f
         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
8 `# W  N, h9 o9 W( d+ d, E      Next
+ I8 g  R( `" ]; j1 [& h* ~# `  End If                                                                               '此段是删除自定属性中的所有项和其项值& C0 P7 A! `0 u9 }$ f

5 h! p+ W) R, V( ]) Q. Q) U0 O0 A3 M2 p+ z1 [2 i* V
CurCFGname = swModel2.GetConfigurationNames) \) {/ w6 P  Z
CurCFGnameCount = swModel2.GetConfigurationCount; Y# b$ T! ^; ~! n  N5 N' j' q4 z( l* f
For i = 0 To CurCFGnameCount - 1
8 |9 @* Z2 V6 K! r2 L    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i))
- F% [) U) f& E, ?- @+ h8 Y    Vnamearr = CusPropMgr.GetNames1 m/ V/ {! j" f" H
    If Not IsEmpty(Vnamearr) Then
  H) Q, W! g4 h8 k/ U+ Q. l        For Each Vnamearr2 In Vnamearr
* H0 c; {6 ], G% y& b* V+ s            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
! S' I3 W7 s7 C2 H/ U) c        Next4 O$ y% R( x4 f9 |- v+ |
    End If
) k* m1 N' K4 z    Next                                                                               '此断是删除其他配置中的属性所有项和其项值7 \* a& T# y/ z; G9 {' h

, w$ H1 y: ?) Q: _: ?
6 U- X( P6 N2 v4 @* }- t0 c0 R6 Ywm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名' g* P: @7 g) t* k/ ]* ]6 L
lz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径/ U. A. e% [4 D
tg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性
1 }% n7 U. D6 Ltg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性
9 c0 g" z! h* H2 g" mtg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性
: e, _5 j. B0 Gtg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性
2 l7 x* w4 r' n: ^4 [" f0 `% b$ NbRet = swModel2.DeleteCustomInfo2("", "图号")# r  W1 T; p2 W1 d9 J
bRet = swModel2.DeleteCustomInfo2("", "Description")
# c9 d# b" i# x$ l; A8 u
6 t6 a! ]% p" l8 W. I; t4 O( G9 H* N7 S, D
wm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符5 j/ z( a% {0 |( t7 Y6 _6 O5 H
If wm1 > 0 Then                                                                          '当mw1大于0量时, |  y$ C6 g5 Z
    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符, h7 o( V+ A+ J" o
    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符; Y, q/ E# F, W. m9 g
    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时
& k) W% M, T# Y, A* f, \        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符' X. `- l0 r7 o$ m8 M/ C/ ~
    Else
& E- v* ?' P2 F% ^. d        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号
, W' U( q' j. ?7 ~1 J* I1 K    End If
2 Y0 ?0 M+ u4 E( p
$ e! \# g. ], q7 n% z/ P5 v) N    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符
7 j4 t- r' c. f5 `4 U, X+ p    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符+ K+ H" \3 `" g* ~# a( z9 k/ i
    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时: e3 ]1 ^) H3 W9 @  q8 Z% t
        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7
: W* j3 _9 u$ |( O( q8 q: S* K    Else0 z# v: ~9 }& f: {0 Y! S
        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数
4 ^; d4 h- T* t9 R4 x    End If2 n& v0 l" L( P7 }1 u+ c% U4 a9 |
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档
3 O7 R8 F! C6 z9 y8 d, n0 m3 c* z( b
. z% X  p4 z3 ?& k' d' {3 g! d/ VEnd If                                                                                                                       '此段为图名分离定义  `# n  `: B: x9 v; U) H1 z0 }

' K  P- ~3 k$ f4 t  T/ m! W/ T3 R8 W
If wm1 > 0 Then                                                                           '当wm1大于0时* O& b6 A0 @, y/ X: g
tg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号( s5 W+ R- `3 N2 V% y
Else
5 K7 q3 D/ r; Z. i2 p' g    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符* V+ ]3 W% d. [5 ?3 `% ]* ]7 J
    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时1 a: S% N; u' W! n, A" B
        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-7  a+ R. y0 O% t3 R" }! h/ L
    Else$ I) G$ W6 ~. G# m6 m3 X( Y7 Q
        wm9 = Len(wm)$ b- I, P* O. V" r: ~2 t* C
    End If                                                                                '否则wm9等于wm所有字符数-7
: U5 r5 K! W6 ^' m1 T) xtg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档
! w2 [8 I; |7 n0 `. @6 P7 j0 @End If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性. y1 V8 j0 I7 u/ ]
'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板)) z+ U" Y; \5 E
'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)9 t! L/ M# @9 h# ]* C/ [. V& R% z9 Z
'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空
5 w" j% n% j; U: X'以最后一个空格为准分离
% Q; ~& H( A1 M+ D, \
8 G2 ]$ _# _6 R" j- h* Q5 f9 e$ }* Q
lz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个% g# e$ M8 z+ k/ X' n
If lz1 > 0 Then                                                                          '当lz1大于0时
+ f( Q2 O9 K0 y8 [9 }. nlz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符
" T! G1 e4 u4 u: L. Nlz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符
6 v1 \& e) y5 D* ]1 p0 b" c, R+ D# T5 `, Olz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个
3 T) m% M; J+ `3 |( jlz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个2 J, q! F9 C  H/ w
tg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符
6 L" Y5 h7 ^% o6 I'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)) f6 [5 E; _2 v
tg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符: o0 ?- G$ t5 ?9 Y/ z0 N
  K2 Y( K3 |) H; Q
lz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符7 m# y% O) A9 y7 e0 L8 g
lz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个
& Z4 m8 H8 x* _If lz7 > 0 Then                                                                          '当lz7大于0时9 M; F  m0 H- N2 O8 P$ O
tg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符- D4 i  n" S; t
End If
0 G- f) _; M! A0 KEnd If                                                                                    '此段为文件路径提取项目号- ]7 \+ I4 `$ i) A
'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT6 J* w1 L* I2 R. E" f% d! [# H
'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。$ F$ w! M3 k9 w( w3 z

) \) ]- `' ^9 k. Y$ {
$ h1 A9 A9 D3 [5 j+ O; b
, Z3 m7 Y, Z- k, |+ J" C8 fbRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)
0 O6 ]! i- p, C3 C. g8 _bRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)' x5 c0 y) E4 h% y: o, t. _* _
bRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)
) j. c: n: g( W/ J3 U" f6 R0 P3 @bRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)* T  X2 v$ }0 Y2 J. K" n$ b
bRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)3 N# f# p4 |# A
bRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")
& {; b8 A. H( _& ^bRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " "): J( m  ?$ _# M( W- ~$ N9 I1 V# ]. I
bRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")7 f0 E2 R2 S( h, o+ D7 N
bRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")
$ ^& Y7 q* D# p  RbRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)
7 P' ]* g, H, z; p9 o+ gbRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)
0 k7 _; u9 ]' [% }bRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)
  A% ?8 Y* ^, D$ tbRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值# _% V6 ]" A( H& q# J' Q- P9 ?5 n

/ I; ^' W% V) G) M' m7 w; c0 oDim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。
+ J& M) k3 ~2 sDim thisSubFeat As SldWorks.Feature) V: }6 D; f9 v
Dim cutFolder As Object
/ |7 \7 F7 |8 O0 Q# W$ Q$ EDim BodyCount As Integer. k3 {  N+ I4 [- y' [: K/ |
Dim custPropMgr As SldWorks.CustomPropertyManager
1 d! U* C6 y% Y' [* _0 tDim propNames As Variant4 Q; s4 V- s0 K% E7 L
Dim vName As Variant* M% z, ?. }3 d! v  U
Dim propName As String
5 N2 I$ [' t. pDim Value As String
8 a! }& u3 F( Y3 i* ODim resolvedValue As String! V2 g) S0 B6 b6 k
Dim bjkcd As Double
7 _% z3 Q+ R( b8 y: {3 KDim bjkkd As Double
3 Q- M& x) A$ J$ k'Sub main()
- ]" G3 {( o# T$ m9 B& T7 A'Set swApp = Application.SldWorks/ R' \6 r+ E' I0 `8 m  n
Set Part = swApp.ActiveDoc7 S' ]! l: R- M) r' g4 D% i  i$ T
Set thisFeat = Part.FirstFeature
$ [5 E) `+ Z" JDo While Not thisFeat Is Nothing '遍历设计树
9 n$ w7 K) f. p# R$ z6 {If thisFeat.GetTypeName = "SolidBodyFolder" Then
9 y$ d7 A  }7 l" Z  athisFeat.GetSpecificFeature2.UpdateCutList( B7 s$ o3 P! n3 \+ M
End If
& K# I$ b+ ?8 J( }: KSet thisSubFeat = thisFeat.GetFirstSubFeature; R% l. Z' S1 ~( c# H, _, i  z
Do While Not thisSubFeat Is Nothing
; ?% S& q& `4 Q* E  P- l. `5 b5 rIf thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单' P$ g& R9 \4 e9 m
Set cutFolder = thisSubFeat.GetSpecificFeature2
( Z" y* C0 C% R* }" ZEnd If- a# L: I( L0 R0 Z. m
If Not cutFolder Is Nothing Then3 H) M3 M5 ?: F) ?9 I4 L
BodyCount = cutFolder.GetBodyCount; R# h$ D" M3 [1 v& V2 G
If BodyCount > 0 Then& p0 S% T  ]# x/ F
Set custPropMgr = thisSubFeat.CustomPropertyManager
2 R( f. D  F  I  mIf Not custPropMgr Is Nothing Then& q+ N3 d& W9 m" S6 f$ n! u2 o& D  h
propNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组: ~, D- G( {# p. L0 `3 I/ Q
If Not IsEmpty(propNames) Then8 H" v# W% a; O3 @" J' e. A
For Each vName In propNames$ h0 B+ c6 \! E, F# J1 W
propName = vName
$ l: [9 Z9 O) G" LcustPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值, `/ {5 r+ o- i" P/ _1 i4 y
If propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取
% Q6 `$ e2 _: nIf propName = "边界框宽度" Then bjkkd = resolvedValue
2 `/ Y3 s0 V$ }5 L/ UNext vName5 P  K' @! b; b* a! _( Z2 p/ x
End If
* H3 P# v5 v; Q% zEnd If* F, z, g3 M/ R1 ]  @& n1 d6 i
End If
6 i0 y6 a$ _/ G, d7 M3 nEnd If0 J# _# k' I8 S
Set thisSubFeat = thisSubFeat.GetNextSubFeature
1 L! G# Z4 c, L; i; c+ sLoop; u' O7 g7 E& a7 U+ b% ?3 X& r6 }4 n
Set thisFeat = thisFeat.GetNextFeature
; R% [, `' u* o9 Q; wLoop6 T7 C' z( p  b- F" \
'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据4 @! A0 Z5 E- R) A
'blnretval = Part.DeleteCustomInfo2("", "边界框宽度")# d& w# n  `7 e
blnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息& H) |* n8 w. @' U/ i" M4 I
blnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)( Z. M* V! C- T2 t: L5 }

% `* M* w2 k8 ^5 K! O# Y7 r, hEnd Sub' Y2 Q0 _0 O0 ^+ Q+ }2 {# [
  m9 \+ r' ~% C% M) h; F

本帖子中包含更多资源

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

×
回复

使用道具 举报

发表于 2021-1-13 16:28:08 | 显示全部楼层
挺复杂啊,比较难用吧??
发表于 2021-1-13 17:17:50 | 显示全部楼层
这个是不是CAD转pdf的?佩服做软件二次开发的人。
发表于 2021-1-13 17:29:04 | 显示全部楼层
学习一下。
回复

使用道具 举报

 楼主| 发表于 2021-1-13 17:40:43 | 显示全部楼层
晓昀 发表于 2021-1-13 17:17
/ @6 S6 p# \/ c+ ^5 ?这个是不是CAD转pdf的?佩服做软件二次开发的人。
: Q7 m  i- N  q! w+ k
cad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。
& ]( y6 r1 A2 c" u4 S; Q1 N' [

点评

大牛!  发表于 2021-1-13 18:01
发表于 2025-4-19 19:34:17 | 显示全部楼层
学习一下,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-6-16 05:25 , Processed in 0.081971 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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