找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5703|回复: 6

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

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

- l& n, |  J  A: v' m: B工程图转格式:
) \* X% y4 K7 n. T' W
1 w8 ]9 w: n. ~
8 X9 d8 g: P1 `$ H' {( e  LDim swApp As Object5 t8 d: q8 C1 R* o
Dim Part As Object* O/ i/ N$ U' ~, l- T. F
Dim Filename As String* }1 J; `: i: V! `& ]* ^9 x* U+ X
Dim No As Integer
4 N' x1 L( I; M7 ]9 {8 Y$ v. ODim Title As String          '以上设定变量
* n* T- E& h1 C( hSub main()2 o  G  p6 Q7 f. I2 v" V
Set swApp = Application.SldWorks
5 ^+ K- h2 f5 T2 a' oSet Part = swApp.ActiveDoc                                                  '以上交换数据
: K, K7 e( g# D1 n4 p9 AFilename = Part.GetPathName()                                               'Filename为文件名
4 @+ a+ t+ L3 E7 {+ ?/ H: X1 u- K) cNo = Len(Filename)                                                          'no为工程图文件名字符串总数
) \9 X& P3 L/ {' zIf No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)
# J: j0 w& U& i+ h" o- S$ LFilename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要: g+ c+ P4 Y7 w2 B/ z- z* e: ]% _" E
Part.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)
- w/ P, _9 Z( p; h6 Y) m* YPart.SaveAs2 Filename & ".pdf", 0, True, False! P" O6 [0 _- n8 ~- g
End If
1 t8 [" I$ g+ A. D8 B# rEnd Sub
! @& e- s- v2 r/ ~* ~! @* X6 K, T+ _, V8 O3 Z+ k4 }- y
$ k% {& O. @+ i* T2 m
( p( Y. D( d# t/ `4 p+ z0 _% R: E3 X: T
属性改写宏:
% b; j0 v% @7 T" d4 a3 W' C" L
- W/ ~5 N/ |! D0 v

( G. Z8 m# H. [9 X# p8 y# G) E/ {1 ]Sub main()
' B1 L. H1 r& O2 Y  G& {: G* G7 G4 u
Dim swApp As SldWorks.SldWorks
  `7 Q1 w+ S1 r8 SDim swModel2 As SldWorks.ModelDoc2
0 g' L1 E! x# D) Z# {! |3 MDim SelMgr As SldWorks.SelectionMgr
2 d: K  S# Q0 t2 G( Q/ @- zDim vCustInfoNameArr2 As Variant2 R1 |( o! d9 q. c: j
Dim vCustInfoName2 As Variant9 Y5 B$ n5 [/ G. l+ y0 K( k" ^+ |
Dim CurCFGname As Variant
+ ?: H- C" p/ nDim CurCFGnameCount As Integer
+ q7 f: r- s, `* s7 i8 y- j7 tDim Vnamearr As Variant/ ~0 k& }0 l( n
Dim CusPropMgr As CustomPropertyManager
7 P) F2 ~# @7 |% t+ _1 sDim bRet As Boolean4 u/ u9 s$ B/ ^) j2 E7 O
Dim Vnamearr2 As Variant( I8 X! ^& H: Q
9 ^8 n% ~, H- J: p; e
Dim strmat As String
+ O) Y6 x; \* ~1 T! ?$ d& UDim tempvalue As String* F$ U& D" [7 W7 u  I6 E5 Q

3 d: n5 W, M3 @# ~. v; rSet swApp = Application.SldWorks, N. j1 v& e* s1 h- U. b
Set swModel2 = swApp.ActiveDoc! S0 J6 O( G, H0 n  l% x# h( c/ t' V
Set SelMgr = swModel2.SelectionManager '! n2 z5 ~! z7 V& a9 g

0 g4 `6 q6 I* b/ K4 sDim tg1 As String# ], P# E- Y% ~( Q. Y
Dim tg2 As String5 V" k. h& ~% l& t; f+ W" B& D
Dim tg3 As String2 P$ k1 W  g8 k. N- ?; v
Dim tg4 As String
0 C4 q* E0 }  hDim tg5 As String' P5 d  D' w( u7 J
Dim tg6 As String
/ E# q4 }' _& G# z& ^Dim tg7 As String" k# @- S) ^, N9 e' P" |2 x- \
Dim tg8 As String3 i* a9 N6 A6 ^0 b! S' O& Z/ e
Dim tg9 As String& v% O, y! b6 }2 j
Dim tg10 As String1 T' L* J6 B2 G' [; [
Dim tg11 As String
( B; M( F+ V) [! {2 l& r. D5 h9 rDim wm As String6 c! b5 I' o% B2 D1 g& d
Dim wm1 As Integer
9 ~- w. a; |! ^! `) O5 rDim wm2 As String
- a6 t/ H0 \3 y+ wDim wm3 As String
1 I4 P. [; R( R9 I, s: QDim wm4 As String
' L4 d4 X$ L' Q) I  [6 H+ ~Dim wm5 As String1 I6 ]+ E& S3 K( q. d6 N
Dim wm6 As String' Q+ b! O1 D2 d
Dim wm7 As Integer' t' D3 N, m3 V1 s4 W
Dim wm8 As String
- \* ]7 I1 V- a/ L) m. r: v$ VDim wm9 As Integer
. _- `$ t9 J( @5 M( HDim lz As String
5 j/ Q- s/ ~% [! }& S' mDim lz1 As Integer& ^* R% S& c' w+ u5 U& Z% S) ~) c
Dim lz2 As String1 z: E2 H6 Q5 S: o! t  z
Dim lz3 As String
1 X/ `$ q8 P1 V3 w8 Z) mDim lz4 As Integer3 U& j6 G4 \! P# O5 m6 K4 j  i3 ~
Dim lz5 As Integer
- i, r3 U( K# V% ?2 ^! CDim lz6 As String
2 a1 ], t+ O- J" L! Z- {. o" M: wDim lz7 As Integer                                                                     '以上为设定变量  g+ R# t' K6 v1 E% T) ^; T
9 B# }; s2 j% c; D3 n7 `! B

# `" E% ?1 G2 X$ K( G/ g$ OswApp.ActiveDoc.ActiveView.FrameState = 1
" U+ u2 m5 A3 X# _# `1 C( s& ivCustInfoNameArr2 = swModel2.GetCustomInfoNames
/ p) A- S3 Q1 w% B  If Not IsEmpty(vCustInfoNameArr2) Then/ m5 W3 n- g# K% r8 y
     For Each vCustInfoName2 In vCustInfoNameArr2
, Z' V! P3 q- ^) F6 ~5 S( R) P         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)2 R/ I4 q; a& o, J8 H& m+ x
      Next& \+ t2 w& X5 ~  }
  End If                                                                               '此段是删除自定属性中的所有项和其项值
, |" i9 m* z+ M: \9 _* o9 c* x2 U& [- G5 _# @  T( d

! m$ J$ S& s* y6 D9 z" TCurCFGname = swModel2.GetConfigurationNames9 f$ o7 _- Z! U( {
CurCFGnameCount = swModel2.GetConfigurationCount( W7 O5 _2 H$ z9 o% y/ W1 z' u' ?
For i = 0 To CurCFGnameCount - 1. n( I% F" H" J: V1 C6 S
    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i))
5 v* r8 f; N5 D; ]- u: X    Vnamearr = CusPropMgr.GetNames
- ~: P5 m( f2 i; N* L    If Not IsEmpty(Vnamearr) Then4 e" R! k+ b( F" t: l
        For Each Vnamearr2 In Vnamearr( V" ~/ ~5 ?9 K. g0 h$ T# ^' Q+ }
            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)( c3 W5 d4 q3 i$ L/ W
        Next
+ e8 J2 \* w6 J! ~- B3 j    End If' `  `; w% F" U% u/ m7 }: Y/ T
    Next                                                                               '此断是删除其他配置中的属性所有项和其项值4 E5 e- F7 A" R$ s& V/ W  u/ m

8 w7 R4 @" O& D* D  P2 L8 W+ \7 ~/ r3 k) s
wm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名8 i1 C! {5 E! D
lz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径
9 x4 x" ^7 K* u: W( e: j6 V6 X3 etg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性
* d  R' o% E2 d5 _6 t: q/ W0 Xtg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性
+ [' |9 @. p/ utg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性- D) s, c  n! \0 y0 |- X/ f
tg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性
3 n. P8 C2 c/ I% d4 j+ zbRet = swModel2.DeleteCustomInfo2("", "图号")
' {" a5 O. g1 U) @: H3 mbRet = swModel2.DeleteCustomInfo2("", "Description")) v5 h( p5 [( ?3 g9 W2 _
" M' {$ F  ~7 Y4 Y* g& t

* N% ]) a  E* s: p( h, m+ Iwm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符% U8 h, ^, P1 T
If wm1 > 0 Then                                                                          '当mw1大于0量时* B! L0 a6 |3 h) c
    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符, ^' ?6 O9 N7 g$ g8 c( e
    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符
; }( g& A1 R, p. f! m    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时& I. R1 v$ K3 W) `
        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符
5 u3 j$ X/ \. P/ v  K( k, a    Else8 O0 p5 e6 @- s" U: J4 `4 Z
        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号
0 ^+ g8 F" P+ E, f/ ^    End If  S2 P; C- ?( s4 v( n& N

) k5 j# b- L' y    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符
9 e( Y/ y. |$ W% J; I2 C    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符. m* \7 D: O" G: D
    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时
3 N2 Y8 W* Q: m6 S        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7
8 M; Z  ~5 N8 O1 H6 W; j. [    Else
, e! X: A/ g7 ^) |2 U# ?        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数! w( A( @! {/ h4 [+ A+ l0 N
    End If3 g- x5 Y% R/ L
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档7 r! e( y1 [' T+ D, P) ]# @
9 ?# _; E, y( Z3 Q( R; v) n
End If                                                                                                                       '此段为图名分离定义& V4 L3 l) a: E6 X- B" z- T7 o9 W  ?
9 ]4 N! k1 l! d+ {: x

3 o( P" [7 l/ A/ YIf wm1 > 0 Then                                                                           '当wm1大于0时/ d) B: s- W* ]
tg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号* h& E$ j( ]+ _( {$ X0 D" T
Else1 |8 T; j; C: T6 e# _, |
    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符
" b7 x' k, Q+ I+ M$ S! c6 y    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时
- b  ]7 l! n& M" Y! f6 O        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-74 w7 B! J1 I- N6 i  U
    Else8 e8 V! ]4 z+ U9 ^( t* P& O
        wm9 = Len(wm)) U0 s+ X# R5 [# ?' @. i
    End If                                                                                '否则wm9等于wm所有字符数-7
/ [, |5 r7 e8 j9 W% Atg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档# j4 c8 w' A% U/ ^  B2 ]
End If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性
2 F7 k2 a: W' z" a/ Z'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板): k* H; n6 I) G6 p( q
'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)7 v* j- @. r8 Z& ~: P/ |1 C7 C0 n
'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空, ?/ L6 R/ c- }" A/ _- `8 V
'以最后一个空格为准分离
1 n" d8 \$ u4 s  w0 \+ ~. G6 {& w& ?+ \. M* f
9 O2 d3 @& X( R! S. r) T! Y
lz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个
  s% J) x& X/ ~% C# RIf lz1 > 0 Then                                                                          '当lz1大于0时
/ {! e. {& d" i9 A# R0 [& j+ vlz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符7 _- q9 G1 H  }0 z/ T+ B7 l, S: I
lz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符" y% ?+ }5 \8 R, z5 y
lz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个
7 \) f4 E( p# v  Y4 ulz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个. z7 }  i! Z$ f5 @
tg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符
9 m& ^8 W) Y' O4 ~( E'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)0 h( O$ P) ~3 Q' z
tg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符7 A  j3 V, _' {# k
* e' h. \( m/ {6 P! u
lz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符
: G7 [' U/ n/ w- V9 Dlz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个' s+ l! C% p7 n: c
If lz7 > 0 Then                                                                          '当lz7大于0时
1 i( V. N8 k- |! r  Htg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符; c/ H- i: K8 j2 W. c! X5 o& j2 Q$ W
End If
% X/ B, k# K1 h: U; i) fEnd If                                                                                    '此段为文件路径提取项目号8 _8 Z2 n$ G7 J$ [( P
'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT2 I8 J3 x; ?- e4 d& g) v; n) `6 d
'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。/ ]( m1 x1 v" D4 J- Y$ L# n' l. N

) }( X: V$ G( f# s
; V# o* L# J* f0 E3 W' Y4 ^6 \2 i! P3 w. c
bRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)% k( |& l$ k6 {8 I
bRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)
- e% r0 @9 R# a) W4 dbRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)$ q' e  b4 W, G% {( a
bRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)
3 O; Q" h1 G! D! pbRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)' {' `4 S, ]4 h( Y9 q
bRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")
2 @. M0 C. t3 ]0 EbRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " ")
, S& d6 H( I( \( K! pbRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")
3 c) a9 t) u$ N3 CbRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")9 X  M7 I" l( ~4 W
bRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)' N! Q. k5 }' q: C
bRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)4 b, e# I# C& z
bRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)
6 l( s) R' a" D* XbRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值# {# O7 o/ M) @

* x2 Z' f( y% ~* X. `1 WDim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。
: S6 Q) O5 A6 F* G- Q% rDim thisSubFeat As SldWorks.Feature- P- Q3 H( ~, _2 g8 I) w
Dim cutFolder As Object# J' h/ H- `& i/ J5 }
Dim BodyCount As Integer
) t7 O  T4 s9 p2 F: @Dim custPropMgr As SldWorks.CustomPropertyManager
: ?& P0 b/ z: ]  B/ vDim propNames As Variant
0 C6 [! X( u4 D; N5 k/ R) a( VDim vName As Variant0 S+ t/ W) w2 E# ^* P
Dim propName As String# b# C# S% T5 F) q  q' W
Dim Value As String% f$ ?' ~+ V4 s; b/ [; [* z
Dim resolvedValue As String0 i1 w, N: F( L6 i' U* [; {
Dim bjkcd As Double
. g7 \) f+ |. P. x( yDim bjkkd As Double
  V9 l5 M: ]* \2 ^: l0 r'Sub main()$ ]$ R+ |" F: m" e* G& B# b' \. {+ i
'Set swApp = Application.SldWorks9 o+ M4 S7 |" w* Y$ `- |" l% S' h+ L
Set Part = swApp.ActiveDoc
, G; e* E& V/ c0 f) xSet thisFeat = Part.FirstFeature
8 ?: S$ X: K9 Z) r# jDo While Not thisFeat Is Nothing '遍历设计树
* u/ h# K9 \2 @# G- h' YIf thisFeat.GetTypeName = "SolidBodyFolder" Then2 r' L' W+ C0 ^7 H! {" Q5 ~
thisFeat.GetSpecificFeature2.UpdateCutList9 |  w# {* n5 O% {4 a
End If
) {. @# E8 `: X& G/ [. L$ ASet thisSubFeat = thisFeat.GetFirstSubFeature
* {* Y5 f6 ~0 ?% k2 H% lDo While Not thisSubFeat Is Nothing
" m$ _7 o9 v8 v$ L) \: t% dIf thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单' p/ c+ U0 l; i. a2 a% a7 P( n# p( D
Set cutFolder = thisSubFeat.GetSpecificFeature28 J- r) g" X( i; J
End If) _1 S2 m1 E! V, M. p; P, U% r
If Not cutFolder Is Nothing Then9 z: d+ m8 m! s& c( ?
BodyCount = cutFolder.GetBodyCount
0 j+ ^. D' t) H9 f3 N7 x: G/ \If BodyCount > 0 Then
1 S$ y: Y! D6 I6 d/ lSet custPropMgr = thisSubFeat.CustomPropertyManager7 `$ ^( X) c8 ]& H- i; M- Z
If Not custPropMgr Is Nothing Then
' n: [8 ^9 h' p  A7 A1 f: M: v2 CpropNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组6 a# n* I8 C& I! N( @
If Not IsEmpty(propNames) Then! `9 W. ^: w8 a) t2 c
For Each vName In propNames
/ x: M  r/ `* ?propName = vName
8 U% a0 g1 B6 YcustPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值
; _- A& u; e0 X! o. y' u3 C, T" V" cIf propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取
3 j- `/ c1 J( u/ K+ UIf propName = "边界框宽度" Then bjkkd = resolvedValue6 m/ r4 n; z% |9 X( j2 R
Next vName
- W$ Y5 e/ H  t  q! D' GEnd If0 y- `0 i9 s( T8 \* o) ^
End If" L2 U, \* V! _  u$ H6 u9 `
End If6 }5 [: A) F7 e6 m
End If' Y, e6 M1 X) i- ^7 m- K
Set thisSubFeat = thisSubFeat.GetNextSubFeature7 r5 k& t4 L/ }; I/ ^) r! @
Loop" l; m1 d3 k  `6 R3 a
Set thisFeat = thisFeat.GetNextFeature
! l# i/ F  ?' l2 m0 q1 KLoop
9 `8 a/ F, W( Y8 p'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据, `* `9 K, w# i3 `+ {
'blnretval = Part.DeleteCustomInfo2("", "边界框宽度")' O, }* I! L  `- H% c2 l
blnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息
$ j8 g- h7 R2 O5 c( G& P& Dblnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)
0 s% C% Y* l( a) G+ `, ^7 ?; Q! H
1 U! w" T7 _: J' k( GEnd Sub" R) e% x* K5 x; f
7 N7 d0 z& s8 [- O" b& 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
! _; `/ [& e2 |5 h& P3 ~这个是不是CAD转pdf的?佩服做软件二次开发的人。
5 m; M! B% l) {) j6 R
cad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。8 {2 Z) A* G! R) d2 k

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 11:05 , Processed in 0.076810 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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