机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 311|回复: 5

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

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

$ T9 _9 G+ T( l4 o* A6 A" s工程图转格式:% q: G8 l. Y) x4 s# a+ y; i7 i0 f

9 }8 v0 S$ R5 O. r
, C( l. E7 ]" h* ~Dim swApp As Object: D& ?' ^- |5 P1 F4 @
Dim Part As Object
4 S& g# O# ~% LDim Filename As String
" b4 g' \  n# Z/ E) e$ z8 NDim No As Integer2 D9 g1 i9 B2 {" Y7 k
Dim Title As String          '以上设定变量7 l5 x* b0 c. v1 K: j/ O
Sub main()
0 ^3 ?( O3 K  k2 v& A4 P: W+ YSet swApp = Application.SldWorks/ Y3 O6 `+ t/ o8 r- a; x  K7 ^+ E
Set Part = swApp.ActiveDoc                                                  '以上交换数据: K, x! j8 T( p
Filename = Part.GetPathName()                                               'Filename为文件名8 q0 g, t6 N9 R& @, }, h; f+ r
No = Len(Filename)                                                          'no为工程图文件名字符串总数4 s5 p3 a  [' G. o/ w0 |
If No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)( c7 Y6 y. _+ l2 P% B7 s
Filename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要
5 I) ?. ]% v4 Z; }/ j, n- F* IPart.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)
- H9 L8 z& ~3 K4 S) K9 e0 ZPart.SaveAs2 Filename & ".pdf", 0, True, False4 E$ j  n9 L% G7 L, Q
End If, Z% l3 g  K, Z/ U( L
End Sub
  V; u' G8 s1 s4 F& W
3 s6 p$ i6 Z) X$ `
2 \4 R3 }1 P, Q5 S, N1 q9 S( Q1 E6 g- O. y& K: I
属性改写宏:0 @4 e( N0 X' r( K+ C1 b6 u4 g

- z8 m- E4 F" W$ `" ?/ S' ]
# Y5 y& Z; Z$ j( D+ e( d- v% j( s9 J+ @; h9 k
Sub main()
0 P  }4 e" i) D" B
; |. N- C! o) W$ ~/ |8 T! pDim swApp As SldWorks.SldWorks
7 @4 P' J) e* h6 B, |Dim swModel2 As SldWorks.ModelDoc2' t( M7 y( ], q0 y0 y0 Y+ x
Dim SelMgr As SldWorks.SelectionMgr8 ~' `9 M0 K8 @9 n" I# \7 T; o  V
Dim vCustInfoNameArr2 As Variant
& x: {! J8 n. [5 K+ N% i9 fDim vCustInfoName2 As Variant( Q# |% h( p% e! ~1 @& R: |7 b7 s
Dim CurCFGname As Variant. D6 D: q& E1 D7 j1 Q4 }: f
Dim CurCFGnameCount As Integer
) ?: R$ O" I. f1 m% gDim Vnamearr As Variant7 Y0 W+ n# Y6 g4 Q. G/ l0 Z: v) e. O
Dim CusPropMgr As CustomPropertyManager9 O: C# x/ `, e/ |' |& d: K
Dim bRet As Boolean/ }( l1 u  C# I) D
Dim Vnamearr2 As Variant
4 I" L' J4 J$ D+ N
1 H5 v+ f7 Y4 s! v& M2 G4 o/ Q  }Dim strmat As String
9 h/ u+ E( _% J. W& X  a- y  [Dim tempvalue As String
: |0 s/ d5 E; g) x1 `
3 T; e9 Z/ B6 h8 G: _+ H7 oSet swApp = Application.SldWorks
# A; M7 a. Z. e+ h# G7 S' I7 jSet swModel2 = swApp.ActiveDoc
, O7 A4 V, r! {Set SelMgr = swModel2.SelectionManager '9 m( W, _; s( t

( ?) b2 S* h0 y3 }Dim tg1 As String- C- G5 y2 [0 E
Dim tg2 As String
7 k' u9 ]& r! N- {Dim tg3 As String
% k( G+ E8 x1 xDim tg4 As String
1 U) z" u' b+ W: \; }Dim tg5 As String
* N: T1 H5 E6 ?* }! SDim tg6 As String
8 ~% A8 b  W4 pDim tg7 As String
3 W' O' I6 B. S+ xDim tg8 As String0 `3 j5 y( p6 P0 e& |# |
Dim tg9 As String
- D& O3 u( s3 q7 i0 P2 q% WDim tg10 As String
" W" n7 L2 L6 Y# kDim tg11 As String( M) o! }  v+ M3 \
Dim wm As String1 ^& A- `# |# r* z% B
Dim wm1 As Integer
5 M5 Q# Z. p& |2 q) ~; sDim wm2 As String
! ]% x# k' ~. y2 k! ~  zDim wm3 As String1 f4 R- e1 Z. Q+ U1 n5 x( s
Dim wm4 As String( k4 K. @% a+ _
Dim wm5 As String
. F5 X- Y  S- EDim wm6 As String
1 j) {4 L5 Q0 x# Q3 \2 vDim wm7 As Integer- j/ ^' ~1 @2 J% U% R1 z
Dim wm8 As String
& b0 H" X8 i! m# rDim wm9 As Integer
  ]) ?. J; m  n. q( d5 V( G: cDim lz As String
/ k8 h5 o  U' e8 ~( Q1 e# VDim lz1 As Integer
  I8 |+ e5 o+ M2 |Dim lz2 As String' I- a1 R& ^8 j, ?. P
Dim lz3 As String
- [$ o6 Z3 E; R& g$ p1 z" m9 nDim lz4 As Integer7 h3 |. j, O3 e& z4 }% l  E
Dim lz5 As Integer
- r* Y8 N  g8 k; _7 I. c+ EDim lz6 As String* j! J* H/ `$ U7 M  k( |
Dim lz7 As Integer                                                                     '以上为设定变量
7 I' ]/ ^7 l' T4 O( _$ S0 F+ r5 ?! ~5 `2 b
% T' A# {3 x8 W3 k; l' s) G
swApp.ActiveDoc.ActiveView.FrameState = 1% i5 R5 J; f7 d. _' \5 ^
vCustInfoNameArr2 = swModel2.GetCustomInfoNames
' m) o  S0 W+ W3 A) C% ?& `; L7 f  If Not IsEmpty(vCustInfoNameArr2) Then+ E  d8 a, \3 C! o
     For Each vCustInfoName2 In vCustInfoNameArr2/ x, S: J, |9 D+ d. |/ S
         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
# L4 H! s; R# L: z0 ?3 \      Next" I& O+ m6 |" U* h  F# S
  End If                                                                               '此段是删除自定属性中的所有项和其项值
9 l) b1 K8 Z% i9 h5 \) u8 k. }' C
# k% u( x8 Z% U/ G+ f
( W& a) F  R; o" tCurCFGname = swModel2.GetConfigurationNames2 `6 c# V+ m0 z+ j
CurCFGnameCount = swModel2.GetConfigurationCount2 r# S6 A% m/ v0 J6 A1 O  z8 c4 z; p
For i = 0 To CurCFGnameCount - 1
. t( c+ W3 c7 f& K8 \    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i))
) O* F. W7 I6 X' g    Vnamearr = CusPropMgr.GetNames4 F" B" c4 |2 v+ E7 d% w8 S
    If Not IsEmpty(Vnamearr) Then- v' K3 I+ ]6 j' x2 v0 X5 M
        For Each Vnamearr2 In Vnamearr
9 a: d( L. V% V2 s; H% p  ^            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)# c3 N$ P) X7 a2 Y6 `
        Next3 V* ?9 e& m- }& E
    End If3 G" y+ ?7 r& H! i
    Next                                                                               '此断是删除其他配置中的属性所有项和其项值0 g( o( w2 I$ p7 I2 J7 M
# g! R2 K& P' U

+ V5 o1 R: P3 U6 g7 |; L4 \7 `0 h5 Twm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名/ I$ H. m+ `; D( ?4 X% |% c0 `/ T! t
lz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径
( @  r/ z0 q9 ~' i! C+ _0 W$ itg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性
5 V; G# P& u. g' Ttg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性' h6 O  U5 C' A/ P# O
tg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性
; M5 j3 k% ~: x7 {  W$ }8 `tg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性7 u1 s& r. x/ t$ e' I1 m
bRet = swModel2.DeleteCustomInfo2("", "图号")
4 U8 U& z3 d. `# u6 X$ S+ lbRet = swModel2.DeleteCustomInfo2("", "Description")
& B4 O7 @! H0 o6 Z/ P+ D$ r+ |- K* y9 w: v# _- `. \1 p
9 K! d3 W- w/ Z1 |- I7 M6 C& L8 f$ _
wm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符
$ P! N7 o8 Y  B1 ^9 i$ wIf wm1 > 0 Then                                                                          '当mw1大于0量时
% B# j7 o+ I8 Q$ ~  |    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符: Y( J5 n8 w) R  N1 Z  m
    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符' b( r$ C9 _& K
    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时7 b* `$ d7 O$ s
        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符
0 }. `' t9 A7 R; R/ S7 ^    Else7 x& ?; C: ~0 x0 c0 Y5 g9 A
        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号
) _, T9 q- c$ D/ P' {5 v9 j( ?    End If  i( c% K& f6 Q$ F* T5 D

. l8 s9 j  _# b8 X& D    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符: F! j6 M% [' ]" }1 [
    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符
# u, B% z( [4 D# o    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时2 N1 A* G3 G5 Y- \# V8 w: u
        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7
0 }* i: E8 b( n9 T( g    Else
/ I/ u: t* V' Q/ x' U+ ^: p        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数
: n) _8 B6 R, h    End If9 K+ @8 t& W- W; M- [
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档& Z$ @, `7 \$ c4 k

5 s5 L6 }8 S( t& xEnd If                                                                                                                       '此段为图名分离定义
8 k4 d' k; G3 I+ H" H0 B2 K
" O2 F  M3 P) |% Q' F7 v7 X! [
1 e4 ?5 {, A7 d# Q! K" D( g0 a7 \If wm1 > 0 Then                                                                           '当wm1大于0时. D% R$ g1 e0 |6 Q
tg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号9 X+ c8 \3 C+ t6 C& Z$ I0 `- \
Else5 G5 \8 B2 k, j& J7 P& ?% m% m
    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符
  b4 @! R( m: Z' f6 t! [- C    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时+ ?0 b  j8 L( S. z- L% H
        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-7) u6 M" X  x4 R, Z: a
    Else% b8 W1 [4 y" ^7 h1 ?0 Z8 N; t
        wm9 = Len(wm)
/ c' c; l) z1 B3 K; \- K6 u    End If                                                                                '否则wm9等于wm所有字符数-7
8 n# V$ U( I$ N5 L2 Ftg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档) F; Y" Y5 L( O! b& L& q
End If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性
! C. _* L+ Q( j7 A# q; f8 Z'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板)+ \8 l) i$ }! T. e( x9 h
'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)
1 S9 j3 @, F: ?& f9 _'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空
+ O# x& {6 P0 @7 ['以最后一个空格为准分离
( s8 @5 D7 Q9 ]- V  R9 V8 X3 D( \% u
8 T0 u- c7 A. b# ~( |3 ^
lz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个
6 W; k' L8 O2 Z( ?& ^- dIf lz1 > 0 Then                                                                          '当lz1大于0时( |! s" B$ b% r1 B6 w
lz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符( r8 ?/ \6 Q& Z4 B  @: I
lz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符4 A! t" g- h, h1 W' ?
lz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个
) g& R1 M( |1 b8 Q6 E7 Xlz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个4 d3 n$ E$ \9 d; x4 T
tg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符
& ~- P" U9 m* V* ]; U& g7 j'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)! }4 P, s( r  |' ~! X* n: ]) z1 B1 s
tg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符
# \/ F9 n+ C7 s
8 A/ T( ~* k/ j3 X& M2 Wlz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符
# ]& u" n8 c$ ^lz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个
; a% l5 t0 ]* ~! \* ~7 m# ?  R1 Z5 dIf lz7 > 0 Then                                                                          '当lz7大于0时' }. B1 j0 U9 w" E( s% f
tg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符
. p' U" B4 Q; J/ T. d6 U0 C' y- bEnd If
- F( r$ G2 s) k4 z! K. Z/ rEnd If                                                                                    '此段为文件路径提取项目号
& C5 W$ H2 @3 l+ M'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT
' H' R" X5 r/ i4 N- {9 Q/ i'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。
; x7 c4 \$ i% F" ?3 N
9 g- [3 S8 N& h" T  p1 f4 g# s6 D2 u& J
1 c( j& S" e8 t8 Q
bRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)3 I: n' C6 B7 D! Q5 ^- Z1 b" p
bRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)
) l4 T0 D6 d6 fbRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)
# _# b/ Y) y9 kbRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)  Z4 W. I- B8 b+ S, b
bRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)/ e1 e+ }. y8 `* w& s  u1 H
bRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")
/ U- s' t1 [* A! T2 l1 _bRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " ")* {) b5 c3 s! ^  L9 x) ]
bRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")
9 F9 }' _0 R4 g+ h* P9 kbRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")
2 ~; p3 v0 r5 A; obRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)4 M( i" t/ `& E  d, @, {5 q
bRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)
) ~7 Z0 T2 k. dbRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)( x2 K/ v% e0 N6 k+ R
bRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值
; K# @; o& @' u3 Q1 _" y' n2 R1 b, r( c0 h
Dim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。& ^& d! x' o# J  i
Dim thisSubFeat As SldWorks.Feature# M# |9 R, r) \
Dim cutFolder As Object* h, Z# F" o6 v: W) K% f, Z; q
Dim BodyCount As Integer- k- _" D( r( U7 I% O
Dim custPropMgr As SldWorks.CustomPropertyManager! Z3 R7 L9 ]7 K) d- H1 @
Dim propNames As Variant. N7 Z: w% k& K; r. P; @) T% u- _
Dim vName As Variant
8 e, q1 K. h) N7 N4 O: t0 r+ ]Dim propName As String% S5 ?9 T$ b! a1 Q2 _! \: m
Dim Value As String
+ R& ~% ?: j0 TDim resolvedValue As String
$ g7 I% D+ n9 r( d2 W1 G5 NDim bjkcd As Double
" m1 {6 j3 B7 N! }) p: P. |% z$ }8 oDim bjkkd As Double
" T2 O- e3 `+ r" y- k/ b5 V1 |'Sub main()
0 r6 @/ m+ l6 A! x4 X+ |! [4 ?'Set swApp = Application.SldWorks
5 y8 z" ?8 \% n" U7 N$ `$ Y" X3 l# J' I* jSet Part = swApp.ActiveDoc& t5 Z* Z/ a% ]4 j! Z
Set thisFeat = Part.FirstFeature
" u# A8 m8 v7 ?$ UDo While Not thisFeat Is Nothing '遍历设计树3 l' A$ X, V( Q( L6 I" I7 m2 l
If thisFeat.GetTypeName = "SolidBodyFolder" Then6 ~: t' E: S9 h) ^& }4 D2 r
thisFeat.GetSpecificFeature2.UpdateCutList
: U1 E$ x8 c& B9 j+ \9 ?End If" _+ |2 j7 T) f
Set thisSubFeat = thisFeat.GetFirstSubFeature
( J+ R' _) }* V9 c5 M- wDo While Not thisSubFeat Is Nothing
- i$ }; C$ K# d  XIf thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单5 m' M$ n4 ^& U  E4 z
Set cutFolder = thisSubFeat.GetSpecificFeature2
  I' h8 _# `, dEnd If
, q) c9 i1 O7 C8 O# h- GIf Not cutFolder Is Nothing Then5 f8 N: j4 x2 G& G2 A9 G
BodyCount = cutFolder.GetBodyCount; g' ?! a3 L8 f6 f  a1 c
If BodyCount > 0 Then/ f/ n. s, l5 A4 Q  V
Set custPropMgr = thisSubFeat.CustomPropertyManager6 D' {( B$ ^8 t1 O: X; R
If Not custPropMgr Is Nothing Then/ V$ h3 z9 u: f8 g6 b
propNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组
, Q, `6 w9 F- \1 O9 t* l' ^) {If Not IsEmpty(propNames) Then
3 ]& ]9 X; M- X) \For Each vName In propNames7 s4 U. N1 i' G- O
propName = vName1 V& }! W9 h* T  g4 ~  Y. J$ F
custPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值. m/ K6 E) Q" U4 o
If propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取
( o+ ?" z3 Z* D  M# p. s* ^If propName = "边界框宽度" Then bjkkd = resolvedValue
5 A- F) `+ r; `2 ~: M% g8 YNext vName
' Z$ o* j; d1 \End If
' S" ]9 [; t! WEnd If
- X) w& I! `6 D# m' AEnd If6 ~! d2 r9 ?/ Y. Y
End If
  g1 q# a: B% f) r: ~Set thisSubFeat = thisSubFeat.GetNextSubFeature0 Y% u: M' K; N1 B* M* u
Loop
$ N7 h% e+ f/ T) R0 ISet thisFeat = thisFeat.GetNextFeature* h. u: p" ]- v3 `
Loop
1 i$ J, L! K2 F3 d" T% g8 P, X'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据
  S7 K/ I- g9 f6 B- d$ I0 _'blnretval = Part.DeleteCustomInfo2("", "边界框宽度")& u( F4 y/ v# p5 X; |5 _  m
blnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息
5 m$ l7 k; W  o% A( \  pblnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)* r- E4 T( G$ i

7 s. D; u6 D) ~: V: \. ZEnd Sub9 [. X3 C6 ^# @$ V; N
* j3 p4 j, t# i5 ?" N

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 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
) V; Q4 T& ^0 T1 Q* G这个是不是CAD转pdf的?佩服做软件二次开发的人。

* r' e, X" q" p3 r/ Zcad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。# s# {! n  H# e0 m

点评

大牛!  发表于 2021-1-13 18:01
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|中国机械社区 ( 京ICP备10217105号,京ICP证050210号,京公网安备11010802010176 )  

GMT+8, 2021-1-25 17:50 , Processed in 0.062052 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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