机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5036|回复: 6

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

[复制链接]
发表于 2021-1-13 14:11:47 | 显示全部楼层 |阅读模式
1 J1 K, E1 m6 [0 \" W0 g
工程图转格式:4 O+ w5 ^6 B* t$ c

. E- n7 ~" z& }6 ]* \
$ s2 e% f3 ^7 w! r5 ZDim swApp As Object  `/ S+ Z2 d$ y7 C2 m+ H
Dim Part As Object
0 f) z, a% b0 b* ZDim Filename As String
* G! m  a& F8 Z# iDim No As Integer
+ ]$ Y2 g" j9 ADim Title As String          '以上设定变量4 {% a1 w* |  K
Sub main()7 `" ?, [2 X# f% A, \! a! V
Set swApp = Application.SldWorks" P; Y) T5 h' d; L
Set Part = swApp.ActiveDoc                                                  '以上交换数据" p  q' g; R- _3 w2 f
Filename = Part.GetPathName()                                               'Filename为文件名
% D  F* o! [7 \; F1 zNo = Len(Filename)                                                          'no为工程图文件名字符串总数
1 @. R- c# A3 R0 x' YIf No > 0 Then                                                              '当NO大于0时(转换格式名称是工程图名称,故要先保存工程图才可转换,工程图未保存无名称,无字符串,不可进行一下步)6 c9 q6 o2 c: H, W8 I
Filename = Left(Filename, No - 7) + "." + Right(Filename, 1)                '字串符操作,no-7为去掉工程图后缀名,"."+ right(filename,1)为增加后缀名最后一个字母作为识别,用于区别客户来图,可不要
" u4 e6 w) l* q5 |Part.SaveAs2 Filename & ".dwg", 0, True, False                              '输出需要转换的格式文件,已有文件则自动替换,不提示,(有些格式文件在打开状态中不可替换,替换不成功也不提示)
# T% m$ K' {! z- F# G; B: f# Z' I5 OPart.SaveAs2 Filename & ".pdf", 0, True, False
; R7 W2 E: z0 X% l4 Y8 [- ]End If
# ]. D, H* }1 W8 e/ @/ SEnd Sub4 T7 f# z! u1 z) ?* d3 E

: m& O# H2 V$ M( j, K/ V+ c
# R7 i4 M1 P$ Y( B9 }2 v4 c7 [6 |
- f  u& @# H8 E9 V# I5 L  M# B属性改写宏:
; Y+ h4 h' k7 }# o$ j9 v
2 x% c5 c$ U( _& ]# {  M5 ^; h
* o. s) t/ M. ]& u
6 I3 w' h( N$ JSub main()
7 x' C! [  \5 R' ?, i  _
4 G6 H* u, X# tDim swApp As SldWorks.SldWorks
( P4 O# C) k. h. i- uDim swModel2 As SldWorks.ModelDoc2
" `0 [4 ]! E7 L) B% MDim SelMgr As SldWorks.SelectionMgr* `; `. P0 l2 l0 m+ Q
Dim vCustInfoNameArr2 As Variant7 U: ~- ]+ |1 n0 e+ |
Dim vCustInfoName2 As Variant3 w1 }- B  K4 O2 _2 @
Dim CurCFGname As Variant. C; K; r6 d2 z9 Z7 s7 z( K
Dim CurCFGnameCount As Integer
$ X' ^$ T- ]. N  A! h- Q0 u$ ^& X: Z/ mDim Vnamearr As Variant3 T) Y& |7 q/ n1 G, Q# ~
Dim CusPropMgr As CustomPropertyManager
; L* p- A8 O5 q: }1 sDim bRet As Boolean5 S3 u2 K! w& A) N
Dim Vnamearr2 As Variant+ w8 s4 ?% C& f! @% P! ^9 s4 O
; d( S# u6 W( F3 h) t8 L4 l
Dim strmat As String
: }2 y, v' c6 l2 YDim tempvalue As String
7 Q6 F, R) Z# V) r: V) B( H% T: J) b  S7 A$ r6 {7 m
Set swApp = Application.SldWorks
: E" u' ]) F5 T3 a6 PSet swModel2 = swApp.ActiveDoc9 a+ J0 z7 o1 a$ b" H( |
Set SelMgr = swModel2.SelectionManager '
+ Q, N. s  E) R5 a2 n5 [; F5 H/ J+ Q( c# A% ]) Y8 Y, T
Dim tg1 As String
, q- U  p! H" l( J$ KDim tg2 As String( O2 E5 M- a) i  c
Dim tg3 As String0 w1 Y8 A: i! S# h
Dim tg4 As String" i" C9 H# @( y9 D& p" D1 |
Dim tg5 As String
7 T) K' q2 e, Z5 W+ l2 KDim tg6 As String
4 {+ a- O# K$ m7 Z3 tDim tg7 As String0 D( o0 b* u# a3 l' \/ o
Dim tg8 As String
9 B$ Q; u. V" G6 l( t/ v) @2 yDim tg9 As String7 f: G8 T+ K* `: y
Dim tg10 As String
5 y, V$ z* l0 }, G0 h( p) z  dDim tg11 As String
0 n3 B( G7 |& {Dim wm As String
5 l% ^6 o4 n; T$ v7 ]Dim wm1 As Integer$ u1 d8 \  {3 p$ d% p& s
Dim wm2 As String) b4 ]! ]8 o8 w+ ]. X3 {. I
Dim wm3 As String
/ `$ q: L8 p+ r+ C, @: [$ GDim wm4 As String
1 e! `. u4 _$ tDim wm5 As String
4 |7 J. a- t& u9 P& e+ j* _Dim wm6 As String
8 l; [7 u/ z& O5 y7 f2 l$ _Dim wm7 As Integer
, {/ F: e5 [9 _9 y* Z0 pDim wm8 As String& f. K( {5 S+ I% W$ b. R
Dim wm9 As Integer4 n9 C6 }$ m4 X. n0 F) ?4 c
Dim lz As String# x2 ?3 y. y1 b5 e6 m# Y+ w8 U
Dim lz1 As Integer
  }# U) H9 M" D; U+ d6 Z5 DDim lz2 As String
5 E5 }2 E' p9 R5 p$ O4 k1 wDim lz3 As String0 n4 O7 n3 {# B  `6 f
Dim lz4 As Integer
+ Q% ^8 a- r) V+ z3 s8 W1 vDim lz5 As Integer
- Q3 v" Y' ~" @5 S7 y! p& lDim lz6 As String
1 p* P- s  }2 L9 H7 LDim lz7 As Integer                                                                     '以上为设定变量7 k) s( a0 ^+ |8 ?) g! X) f

* d7 [) ?, x% G# G$ {+ P" K7 T8 z
swApp.ActiveDoc.ActiveView.FrameState = 15 C1 R( r# W: L2 R+ g) _1 S3 q
vCustInfoNameArr2 = swModel2.GetCustomInfoNames0 y+ J4 T0 t3 H$ ~8 \0 X$ O9 t
  If Not IsEmpty(vCustInfoNameArr2) Then2 [* f4 A& W! ]  l6 B
     For Each vCustInfoName2 In vCustInfoNameArr2
* m! a6 ]# W9 _* m* q7 q         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)& i$ M! D) |. d5 \& f# a' h
      Next
; |, M4 `9 }1 @$ T5 G, K  End If                                                                               '此段是删除自定属性中的所有项和其项值  Q* D/ M9 O& m- ~

( H3 f' E; K" s
* w5 r/ |( r3 T' O# y1 hCurCFGname = swModel2.GetConfigurationNames/ `+ l* v: ]( t$ U. A; v7 {' i
CurCFGnameCount = swModel2.GetConfigurationCount
6 ^: O2 P% ]; C1 s* Y+ ]3 C6 x; z! EFor i = 0 To CurCFGnameCount - 10 p4 K' u& _7 [4 l' Z
    Set CusPropMgr = swModel2.Extension.CustomPropertyManager(CurCFGname(i))5 H- v# [/ [% L
    Vnamearr = CusPropMgr.GetNames
: ]* h9 j6 K5 F    If Not IsEmpty(Vnamearr) Then
( T6 d5 s* y' t        For Each Vnamearr2 In Vnamearr: Y# v/ l# ?; |( `7 y- G. D
            bRet = swModel2.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)  g- d7 j9 \/ q
        Next
$ M/ x) L* B2 h: Q    End If$ D9 w1 j) e2 A. b9 `9 I; S
    Next                                                                               '此断是删除其他配置中的属性所有项和其项值! q+ C+ \8 x8 ~  K2 V
) _3 E) q: o/ L' }1 S' r
9 f+ E2 @# H) ?" s( R& }
wm = swApp.ActiveDoc.GetTitle()                                                         '定义是文件名! ?; [! L% _4 ^
lz = swApp.ActiveDoc.GetPathName()                                                      '定义为文件路径6 [) p  a5 w$ N
tg6 = Chr(34) + Trim("SW-Material" + "@") + wm + Chr(34)                                '定义材料属性6 D6 e2 ~1 p% x+ K- c; i
tg7 = Chr(34) + Trim("厚度" + "@") + wm + Chr(34)                                       '定义钣金厚度属性
7 L8 t5 z' Y( b! L2 i% Etg8 = Chr(34) + Trim("SW-Mass" + "@") + wm + Chr(34) + "kg"                             '定义质量属性
% R6 h* S0 K# S' b% l3 ntg9 = Chr(34) + Trim("SW-SurfaceArea" + "@") + wm + Chr(34) + "㎡"                      '定义表面积属性6 M  t8 d; y1 ~  P  g6 Z% U
bRet = swModel2.DeleteCustomInfo2("", "图号")
3 y9 H3 c6 k  u7 X: VbRet = swModel2.DeleteCustomInfo2("", "Description")
& _6 @7 u( B" w7 @  b2 X9 U7 ]! i6 x3 E
6 I5 i0 L% r$ f( H+ v
wm1 = InStrRev(wm, " ") - 1                                                              '引号内为空格,为图名分离符号        '从右向左搜索到第一个" "符号为第几个字串符5 U  _# [9 W* F; V
If wm1 > 0 Then                                                                          '当mw1大于0量时
! H& I4 i- {+ b! F+ o4 d2 K    wm2 = Left(wm, wm1)                                                                  'wm2等于从wm的左侧开始提取mw1个字符
- r6 i3 O. n1 d: K5 @7 K9 F. b4 U    wm3 = Left(LTrim(wm), 3)                                                             'wm等于wm去除左侧无效字符的左前三个字符
' E" i8 q1 w# X" m' c    If wm3 = "GBT" Then                                                                  '当wm3等于"GBT"时( k  d) s+ |+ |+ c; o
        wm4 = "GB/T" + Mid(wm2, 4)                                                       'wm4等于"GB/T"和wm2的第4个和后面的所有字符              '当零件是国标时添加国标号,文件名中/是非法字符
' X8 b9 N# S: Y- T    Else
5 {; u# i' C$ o, }# \. _        wm4 = wm2                                                                         '否则wm4等wm2           '空格前面是图号9 f. U; N! |# T% R% ?5 @2 W
    End If, a; J" o* t  a0 K" |( L% M4 e6 z2 l

2 F- B6 h$ |1 P& G3 U7 O    wm5 = Mid(wm, wm1 + 2)                                                                'wm5等于wm中的第wm1+2个后面的所有字符
! ~) F. Z2 ^* A, l, Z    wm6 = Right(wm, 7)                                                                    'wm6等于wm最后面的7个字符( B0 x5 b3 N7 m
    If wm6 = ".SLDPRT" Or wm6 = ".SLDASM" Or wm6 = ".sldprt" Or wm6 = ".sldasm" Then      '当wm6等于这4个值时
$ s% r- w  f: g! f" f% p! X* {        wm7 = Len(wm5) - 7                                                                'wm7等于wm5的所有字符数-7! x8 p, d" ~6 n+ D+ [" i* ~
    Else7 Q3 Z$ ~* @% C" V% O9 \# {8 H
        wm7 = Len(wm5)                                                                    '否则wm7等于wm5的所有字符数
; [" ^' E, {$ c% l2 ]0 R6 J6 K    End If( x, K, \5 A2 l! F, J0 F
    tg5 = Left(wm5, wm7)                                                                  'tg5等于wm5左侧的wm7个字符          ,空格后面是名称,有后缀名并去掉后缀名,无后缀后(文件未保存时)直接上档. J, {# f3 N" r+ L, ^
; D; r# K- \2 n4 e, w
End If                                                                                                                       '此段为图名分离定义
7 H' l" e* e- e5 T& F' [5 F3 H  N  n- l4 w3 C

! Z  S( v, _' _5 C) g% l% vIf wm1 > 0 Then                                                                           '当wm1大于0时; v- {  f. ^, r( U8 {2 W
tg4 = wm4                                                                                 'tg4等于wm4              '文件名有空格时,图号为分离出来图号
0 S" X7 f0 @) B# DElse
1 h/ k" {8 v# r& ?$ E  z    wm8 = Right(wm, 7)                                                                    'wm8等于wm最后面的7个字符
& O5 R3 R! Q" V    If wm8 = ".SLDPRT" Or wm8 = ".SLDASM" Or wm8 = ".sldprt" Or wm8 = ".sldasm" Then      '当wm8等于这4个值时
  [! O8 N3 a! d        wm9 = Len(wm) - 7                                                                 'wm9等于wm的所有字符数-76 F& L7 ~3 g8 `3 h7 B  G
    Else
! U% N2 S8 L  G+ l  x% B3 s% o        wm9 = Len(wm)( @$ G8 s0 }9 x: ?
    End If                                                                                '否则wm9等于wm所有字符数-7$ q( h8 m6 t: f6 g: M
tg4 = Left(wm, wm9)                                                                       'tg4等于wm左侧的wm9个字符    '文件无空格时,文件名即是图号,并去掉后缀名,无后缀名(文件未保存时)直接上档( Z+ a6 G+ B6 G7 T2 M6 }( o
End If                                                                                                                        '此段为非图号名称命名文件,将文件名加到图号属性
0 }3 I1 O  y( h'例,fgq01-001 前门板:分离后图号(fgq-001),名称(前门板)
3 r! v$ H; e0 c) Q6 f- l* l1 x'例,fgq01-001 前 门板:分离后图号(fgq-001 前),名称(门板)
  I! G: o4 L0 N! ^/ O; Q+ w0 W'例,fgq01-001-前门板:分离后图号(fgq-001-前门板),名称为空
1 P7 g4 K5 P: Y7 {'以最后一个空格为准分离  X) |- _, b$ f  B/ V
0 S+ r  T& q, B' Z* G

2 ]+ {4 K2 F' F; {- H9 A5 hlz1 = InStrRev(lz, "--")                                                                 'lz1为lz由后向前搜索到第一个"--"字符在第几个% r3 r# R8 ]9 b
If lz1 > 0 Then                                                                          '当lz1大于0时
* L4 f: i1 Z4 [. {lz2 = Mid(lz, lz1 - 8, 8)                                                                'lz2等于lz的第lz1-8个和其后面8个字符
( w# D; b6 O# zlz3 = Mid(lz, lz1 + 2)                                                                   'lz3等于lz的第lz2+2个后其后面所有字符7 A) N  U2 _9 J7 n: N
lz4 = InStrRev(lz2, "\")                                                                 'lz4为lz2由后向前搜索到第一个"\"字符在第几个
' g* E3 Z! C- u9 c9 p: U' m8 j$ S, nlz5 = InStr(lz3, "\")                                                                    'lz5为lz2由前向后搜索到第一个"\"字符在第几个
2 X3 @7 Z7 {' ytg1 = Mid(lz2, lz4 + 1)                                                                  'tg1等于lz2的第lz4+1个后面的所有字符
5 ]- L3 b0 v( }6 X" P; M8 r. R'tg1 = Right(lz2, 8 - lz4)                                                               'tg1等于lz2右侧的8-lz4个字符(lz2总字符为8个)
) i( r1 a3 I1 n. ktg2 = Left(lz3, lz5 - 1)                                                                 'tg2等于lz3左侧的lz5-1个字符/ q/ n& K1 f+ ]! C- T0 f& c  d

9 _! m: j  a  s+ @/ \5 plz6 = Mid(lz3, lz5 + 1)                                                                  'lz6等于lz3第lz5+1个后面的所有字符
+ g$ k: P1 m" ?0 @lz7 = InStr(lz6, "\")                                                                    'lz7为lz6由左向右搜索出第一个"\"字符在第几个- K/ ?' r  T4 _$ Q4 Q6 z
If lz7 > 0 Then                                                                          '当lz7大于0时
( d5 R! }5 w9 `tg3 = Left(lz6, lz7 - 1)                                                                 'tg3等于lz6左侧的lz7-1个字符/ H7 o* K2 L) N. `, j2 {0 p
End If  c+ Q; {6 U( }; d
End If                                                                                    '此段为文件路径提取项目号2 c2 d# K  a7 w, q2 N0 k2 u" l/ G
'例,零件文件完整路径为:E:\工作文档\B-非标产品\非标--F类\FGQ--定制角架\2020版\前门板.SLDPRT
. Z6 W% O: \( A. E'由后向前搜索“--”,第一个“--”向前到“\”间为产品编号(FGQ),向后到“\”间为产品名称(定制角架),向后的第一个“\”和第二个间“\”,为版本号(2020版)。
' v; N/ V1 Y; w; H+ z! F, @0 v& h
; J  Q4 C* d' X) ?3 j7 n4 ~9 p1 I1 @* [4 C

4 N* P: b( z% T) PbRet = swModel2.AddCustomInfo3("", "产品编号", swCustomInfoText, tg1)5 ]/ N" H) a4 `* i& e7 q+ Y0 P2 B
bRet = swModel2.AddCustomInfo3("", "产品名称", swCustomInfoText, tg2)$ [. @, ~3 k6 f; y& m
bRet = swModel2.AddCustomInfo3("", "版本号", swCustomInfoText, tg3)
; z' H& l  x( I! }7 h- T; U2 zbRet = swModel2.AddCustomInfo3("", "图号", swCustomInfoText, tg4)
8 q3 d: U2 t- N  R- \' g% pbRet = swModel2.AddCustomInfo3("", "Description", swCustomInfoText, tg5)
2 |/ w1 R6 j) a1 x* sbRet = swModel2.AddCustomInfo3("", "数量", swCustomInfoText, "1")
$ V. V$ u; p" Z3 d8 ?bRet = swModel2.AddCustomInfo3("", "备注1", swCustomInfoText, " "): w3 r# \/ T/ |; @4 \7 |
bRet = swModel2.AddCustomInfo3("", "备注2", swCustomInfoText, " ")8 i' c; z  F4 ^! j3 h' W
bRet = swModel2.AddCustomInfo3("", "备注3", swCustomInfoText, " ")1 W! o* A! R4 A- a& N
bRet = swModel2.AddCustomInfo3("", "Material", swCustomInfoText, tg6)
7 u3 l2 ]% @& w2 E9 `6 p( ObRet = swModel2.AddCustomInfo3("", "SH", swCustomInfoText, tg7)
+ r8 v% {- Z1 HbRet = swModel2.AddCustomInfo3("", "重量", swCustomInfoText, tg8)
" R) H; t, E* j( E0 a/ y3 ?& `, KbRet = swModel2.AddCustomInfo3("", "表面积", swCustomInfoText, tg9)                         '此段为填写自定义属性项与其值1 r/ g" B! V( j, }1 E

% ~2 D, H* I, W3 sDim thisFeat As SldWorks.Feature                                                         '另外增加一段宏,取读取切割清单数据,并添加到属性项。1 i6 `6 a; m+ N# T7 O( z# m
Dim thisSubFeat As SldWorks.Feature3 K# ]& m5 G# Z6 z" ]- }9 _
Dim cutFolder As Object
+ T$ O" j" m( x+ L4 z2 WDim BodyCount As Integer
0 D2 p& [6 i! y$ vDim custPropMgr As SldWorks.CustomPropertyManager
( f+ ^% |- s3 S9 T$ W+ V, }  _) ^4 IDim propNames As Variant3 {  H4 D$ |! C* f/ ^2 t
Dim vName As Variant
1 n: {9 f( T- l9 H, U" TDim propName As String  p0 T* s- e6 z+ t/ f
Dim Value As String4 H8 T9 i+ W, W5 Q5 c* u9 a
Dim resolvedValue As String6 e+ N6 v4 Y) c
Dim bjkcd As Double
8 g2 ?% ?& a# I+ I9 N& JDim bjkkd As Double
- v& p6 l4 c0 H/ c7 [0 D+ ~2 F4 b0 i2 g'Sub main()3 T$ W+ Q0 P4 v. r' Z: F; U
'Set swApp = Application.SldWorks
8 r$ T+ Y4 o# _3 k$ x, D/ J, bSet Part = swApp.ActiveDoc
0 l9 N! s$ q- T. {# lSet thisFeat = Part.FirstFeature; i6 e" f6 ]2 r. h; A+ V
Do While Not thisFeat Is Nothing '遍历设计树3 ~& h, g5 q" x6 c$ L  r- ~; n
If thisFeat.GetTypeName = "SolidBodyFolder" Then9 [% B2 ^  \1 X& t
thisFeat.GetSpecificFeature2.UpdateCutList5 G! }6 m3 r; B6 D& g4 g' Z! Y
End If# h" b8 I% f+ V
Set thisSubFeat = thisFeat.GetFirstSubFeature
; X, m7 |  e3 F1 P9 M- q* y! hDo While Not thisSubFeat Is Nothing4 c3 ]- ?2 Y. U0 ~9 |( x( P! v
If thisSubFeat.GetTypeName = "CutListFolder" Then '查找切割清单
3 N6 S5 d3 h# n7 {: D$ i4 R% s7 j$ RSet cutFolder = thisSubFeat.GetSpecificFeature2$ a& m& n3 q9 L. r# v) I
End If9 z  u# O0 F; S$ W* L, o
If Not cutFolder Is Nothing Then4 E: |4 ^  i2 [( P
BodyCount = cutFolder.GetBodyCount5 |; ^' c( s' X% X
If BodyCount > 0 Then
7 i( X9 P# c7 E# D9 V  YSet custPropMgr = thisSubFeat.CustomPropertyManager8 n# {2 p2 S' W) Q, G  S
If Not custPropMgr Is Nothing Then
" t  J1 ?) j6 l8 t; E' rpropNames = custPropMgr.GetNames '获取切割清单属性的数据全部名称并放入数组& l& w! @7 q2 I; c; g3 }
If Not IsEmpty(propNames) Then
8 k! I# X8 O7 aFor Each vName In propNames: S. r) }/ ?9 t4 k7 g
propName = vName& h  v- R9 L0 `# [0 z8 T6 n
custPropMgr.Get2 propName, Value, resolvedValue '获取全部属性名称 ,数值和评估的值
" L+ A  k' {) y- U- [* i$ H4 xIf propName = "边界框长度" Then bjkcd = resolvedValue '判断是否是自己所需要的数据,如果是就获取
" N( e. R& {5 \' O4 IIf propName = "边界框宽度" Then bjkkd = resolvedValue
) V4 \& `& L* K. M* D* y# JNext vName# ]" d" a0 W5 C* R
End If+ H" z% C; d" v* |
End If
  E8 k' b/ a0 `/ M8 _6 z6 ?End If
* b  ^0 ~  j6 TEnd If
/ q$ R6 u& c/ Z$ g) ?" LSet thisSubFeat = thisSubFeat.GetNextSubFeature5 v  n' Q6 E. z) [- L* r" Q
Loop, k4 t2 U( |  y( p- n+ d) H
Set thisFeat = thisFeat.GetNextFeature+ Z6 z# \# e9 }
Loop
, Y5 U, _+ A( V  d* `7 h* c0 B% e# B'blnretval = Part.DeleteCustomInfo2("", "边界框长度") '删除属性栏上摘要信息的数据$ a- t: P6 ~+ S0 u  `( G% w4 x
'blnretval = Part.DeleteCustomInfo2("", "边界框宽度")
! G  p4 |, f2 Y+ w, E; hblnretval = Part.AddCustomInfo3("", "开料长度", swCustomInfoText, bjkcd) '添加数据到摘要信息$ O2 Q  l. u# h+ Z4 o8 J
blnretval = Part.AddCustomInfo3("", "开料宽度", swCustomInfoText, bjkkd)7 w0 w% C+ h6 d. K) }
  r1 R* E) ^4 W- k8 p' y
End Sub
, C' s& f1 x* a# X/ s
& y$ n! B: ]% N3 V9 J, W" p( z. j' P

本帖子中包含更多资源

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

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
. d$ x# `9 R& v: b这个是不是CAD转pdf的?佩服做软件二次开发的人。

$ f# f6 ~" \% c9 ucad转PDF,用cad的PDF打印机就行了,这个是sw转dwg,dxf,和pdf等格式的。* S( S- w$ a( U2 Q, _3 O

点评

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

使用道具 举报

发表于 2025-4-19 19:34:17 | 显示全部楼层
学习一下,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 15:47 , Processed in 0.062059 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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