机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5984|回复: 11
打印 上一主题 下一主题

SolidWorks 二次开发 求助

[复制链接]
跳转到指定楼层
1#
发表于 2016-1-10 22:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问有没有哪位大哥大姐对用c++对SolidWorks进行二次开发比较熟悉的,比如下面这个轮毂怎么用C++程序画出来/ L! Z8 v" V2 E' i8 A$ n
这是轮毂源文件
: ]% ]3 ^) H6 }& w' D# k9 \, g各位大哥大姐如有其他三维建模程序的,能不能传给小弟我学习学习,感激不尽了!小弟这边也有些机械方面的资料可以和大家共享。! k2 j6 f/ F$ A, S4 f' v# h# U
下面是小弟编的一个程序,新建文件——创建圆柱。
' P' t+ r* h0 ~* g/* NOTE: You will need to add the -GX flag to your Project Options in Project->Settings->C/C++*/
# d: k, O. q: A9 D* [// swobj.cpp : Implementation of Cswobj
7 ~+ c3 m( H0 b7 B# Y1 [#include "stdafx.h"
: c7 J$ J) X. P. v, H  t#include "111.h"; [% l# [% F: [, z  B+ S% ]/ M: m
#include "swobj.h"& F+ Z" N: d( p

# l, ^3 S8 ~: z8 l) y/////////////////////////////////////////////////////////////////////////////8 P. [" Q) b+ n
// Cswobj
# {- c, g/ I  H
0 Q: L% T( ?6 g  `2 b( L$ Evoid Cswobj::AddUserInterface()
- J; r" N$ ~6 q1 e! V# W! D{; D7 j4 [. C8 E; u
        AddToolbar();
" K& b0 |8 c1 S6 Y) m( G        AddMenus();
1 X) n% M, d% p6 c9 m}
9 D9 _# ]4 |7 ]1 k4 U( r3 `/ s3 Z" k* X" z* ~
void Cswobj::RemoveUserInterface()0 I' L) k  `5 f' m
{
) `* i1 x4 R$ I2 Y        RemoveMenus();
& N- E2 ]( D, W9 [* }8 }; V        RemoveToolbar();2 @( F+ G2 ~) d/ N+ t! b9 n1 P5 ?
}
  [5 M2 ]: O" G* s6 Y3 x* P5 C* q* r) R2 E6 v3 n$ v
void Cswobj::AddMenus()* \2 f" C: \3 `5 W! B/ i
{# S$ {. q) j' |& z
        long retval = 0;
1 m+ z- _8 q! d5 Q: k        VARIANT_BOOL ok;
5 [" ~4 J" c" Z. H( h) k8 q        long type;
$ u& G4 t/ |1 q        long position;4 K7 B% a/ B& ]
        CComBSTR menu;
4 H- F5 H& S  J( z        CComBSTR method;
! O; c2 \1 x6 ~9 t7 z        CComBSTR update;. A* Q7 u  L+ }: T) l
        CComBSTR hint;  t# m: q' J. [# \5 \

6 u: M# N% R% c% V* m0 W        // Add menu for main frame
% P% E' h/ h) r1 @1 J( j4 W0 {        type = swDocNONE;
* {! q3 J# O: j+ R" j% s; V. g        position = 3;
4 e9 _+ d; J" A: m2 b" k        menu.LoadString(IDS_MY1_MENU);
) M3 F, L2 G. c( A* R/ A6 E/ X        m_iSldWorks->AddMenu(type, menu, position, &retval);9 f& k8 m4 v2 R8 }3 [. \- `4 N

. M$ H# I! H. W) N        position = -1;
: _* f4 K7 k' I& E3 N, `        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);  N# F; W8 s1 C/ G
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);7 R+ D7 d& y4 q& f/ A
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);5 N: {7 U. X( `# t, M; P" L( X
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
+ \) f/ r3 V  \; z8 T( J$ S2 T! I3 H, i
        position = -1;  //wb& k( H  r8 i9 s9 L$ U6 Y
        menu.LoadString(IDS_111_ITEM);
# T  I# x; M- ^/ Q2 f3 p$ [4 ~        method.LoadString(IDS_111_METHOD);
( [2 H" m: N) Z        hint.LoadString(IDS_111_HINT);& V) e# Q" T+ l- W* _
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
( S, K' b: ^5 v- g; B/ J' p; }5 [# B0 g/ g4 i6 @/ k
        // Add menu for part frame6 ~, K; p$ n, q
        type = swDocPART;
8 |0 B- d- n2 i2 i$ q% V: W        position = 5;3 H( ~7 p, ~2 I9 J" k1 p
        menu.LoadString(IDS_MY1_MENU);
2 c; A* K) ?, Y! d% k8 U; H, h        m_iSldWorks->AddMenu(type, menu, position, &retval);. F2 `, y5 A9 C6 }
/ |2 e% G5 U5 @3 F6 z2 r
        position = -1;  //wb. R0 @4 }; ~: o6 H7 k
        menu.LoadString(IDS_111_ITEM);
% B" k: ?( u8 |% Q+ w" f/ o        method.LoadString(IDS_111_METHOD);7 d# {+ \# n$ v8 G" k0 X
        hint.LoadString(IDS_111_HINT);
7 A, y' t& i. z. Y: ]8 p# ~& @        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);7 K6 m. }0 G5 s3 Y+ E1 D
2 E' s* U! [# L. j
        position = -1;  //wb8 f0 a6 R, Z1 W3 M# m
        menu.LoadString(IDS_111_ITEM2);: ^1 o0 ^' [. v1 [+ L  I1 H
        method.LoadString(IDS_111_METHOD2);# E7 C6 [8 _0 c- `$ g/ x
        hint.LoadString(IDS_111_HINT2);
) F, t; p4 |$ D        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);' N$ k8 i6 F7 w' J/ p( P

0 j! w8 O8 w) |) M        position = -1;
; G) s, i  S! v, _1 X        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
# B; G% f8 `, a9 r        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);- Q7 }$ v7 q: q+ Z
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);3 }' T+ Q( v% X, q! L1 o
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);4 V2 B) X' C* O; h1 M3 Q7 K& L

. `4 U2 o6 j! K        // Add menu for assembly frame5 Y' ~! h. s2 j5 I- ~/ W# Q
        type = swDocASSEMBLY;3 Z7 p# q3 Q! Z( V& F' `% R
        position = 5;
4 L* B& D5 t0 l5 s1 K3 ]5 B& f3 K        menu.LoadString(IDS_MY1_MENU);
4 }  K1 y- c/ o- f1 R$ z4 L, o        m_iSldWorks->AddMenu(type, menu, position, &retval);
4 G7 v% T+ z0 `8 h* g5 E% F) C1 O
- l, ~+ {& p) K0 ]        position = -1;
% K, K7 R: i/ `& e3 u        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);. d8 f5 n* a# c3 u, [
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
7 p2 ?; J5 E& H7 e( [) M- v        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);3 z4 w  ~7 Z0 z: C4 Z- ~
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);% }) }9 Y5 q% x9 \
9 z, O8 p: W. @+ ^( Y
        // Add menu for drawing frame5 N  `* G3 F% t' d: l
        type = swDocDRAWING;
+ J& _. X2 `  ?6 i; }2 c        position = 5;2 S) T$ Q7 E3 a
        menu.LoadString(IDS_MY1_MENU);
* Y& c  S5 i( g        m_iSldWorks->AddMenu(type, menu, position, &retval);
- p5 \" q  `" F: }/ N7 g1 V. D* H. r        position = -1;& }6 T7 s# t5 D$ g% ~& v$ R
        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);: T; u) v: |7 B. Y, c5 L* a
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);+ O* w9 n) Q' d, H, m6 _4 b
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);6 `0 P6 u. f1 b7 f
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
! f% X/ s% O% L$ o
2 u2 W2 `$ K' ?4 `}. W! M2 ~% K( r' ~- @" ?( |
% m( l: u. c, E1 r: s  n4 v5 j
void Cswobj::RemoveMenus()# Y" I* _0 R( @7 U
{
" W7 Z/ K5 p/ F$ g$ h9 P% ?& H% _        VARIANT_BOOL ok;
7 ?! g  n' P1 f' c0 F- w9 F        CComBSTR menu;
$ x: f6 i- v& F7 P2 I
* @+ M/ y7 z8 I% B& D$ r        menu.LoadString(IDS_MY1_MENU);
# r1 Z( y, F/ Q2 j  s) {" N        m_iSldWorks->RemoveMenu(swDocNONE, menu, NULL, &ok);
) R, ^6 i/ @! i) f        m_iSldWorks->RemoveMenu(swDocPART, menu, NULL, &ok);
! f2 z: d) V( P% \$ ~( j        m_iSldWorks->RemoveMenu(swDocASSEMBLY, menu, NULL, &ok);
. B5 m4 @3 m4 Y$ E        m_iSldWorks->RemoveMenu(swDocDRAWING, menu, NULL, &ok);
+ Y/ a8 h% i+ O4 }# a) [}! c$ S2 l# D9 W" p

8 y! \/ k& {7 g! K( ~4 f5 @void Cswobj::AddToolbar()* E4 `$ N* Y2 ^
{/ [/ c1 j. A2 G- f
        VARIANT_BOOL stat = VARIANT_FALSE;- x/ a. g; D* ^+ I" `
        VARIANT_BOOL ok;
: K: K+ m0 q+ F3 R- q        HRESULT hres;
/ n+ D8 e& F' N" z4 x$ j8 @  {5 R8 r1 z( d/ z* u6 l9 |" c+ l% X  x
        CComBSTR title;2 Y* G, c9 Y1 p" S
        CComBSTR callback;
4 F  N7 M  e9 |        CComBSTR update;* C7 i) O# k7 w' l- v/ q0 h1 H
        CComBSTR tip;0 B( H/ O& `% L1 t# H1 ^- Y
        CComBSTR hint;
8 B  B9 i- h' q( C) N        if (m_lToolbarID == 0)
, @  A" a3 A& x* Z6 g2 o        {  L7 w# a, [! e) W
                title.LoadString(IDS_MY1_TOOLBAR_TITLE);* s  t+ n% `+ h6 p
                callback.LoadString(IDS_MY1_TOOLBAR_CALLBACK);
, c" T# y# O% ~; ~) V1 ^                update.LoadString(IDS_MY1_TOOLBAR_UPDATE);
" r: f2 R7 s; M- F7 e; Y                tip.LoadString(IDS_MY1_TOOLBAR_TIP);
5 V& s/ F+ A: I9 e# }3 H                hint.LoadString(IDS_MY1_TOOLBAR_HINT);) h5 h' v* F! g; A; i1 K

& c" h8 ]. ?0 U* k2 k4 F                hres = m_iSldWorks->AddToolbar3(m_swCookie, title, IDR_TOOLBAR_SMALL, IDR_TOOLBAR_LARGE, -1,/ P$ n$ f* y0 k7 [* v) |7 y4 x
                                                                                swDocTemplateTypeNONE|swDocTemplateTypePART|swDocTemplateTypeASSEMBLY|swDocTemplateTypeDRAWING, &m_lToolbarID);
2 g. O1 c+ j! E- ?  s0 [3 O  N. _% A& @% r
                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 0, callback, update, tip, hint, &ok);9 M4 l# r3 u5 [5 @
                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 1, callback, update, tip, hint, &ok);
: M- B8 X, ]4 |' g$ d" q                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 2, callback, update, tip, hint, &ok);  b: X* a. e5 j* U/ L; m
+ H7 [. N' T) i
        }
( h) _6 Y9 G" y6 t}# \1 B* e) j* @! O6 d6 C

: c: P& I$ w! Gvoid Cswobj::RemoveToolbar()6 {/ |* j# c: a" m, s/ e. |
{6 g0 a6 M# N; p1 }
        if (m_lToolbarID != 0)
- `( x* s8 {/ c6 _! @5 r$ O        {( M- g" g) I" m8 r+ b
                VARIANT_BOOL stat;' C% ]5 k- g" Z; ]  @4 ^

$ B0 J' N6 e% k9 z; z+ h                HRESULT hres = m_iSldWorks->RemoveToolbar2( m_swCookie, m_lToolbarID, &stat);
$ ~3 O, O3 M+ z) p                m_lToolbarID = 0;! a" ?- _  j& }5 N' P2 r4 q$ {
        }; @$ N% P& L' X: {; ?) p3 G
}
2 Z& N+ A; p2 {' Q2 ?
8 g4 o, `$ @% a  M) V5 l% `$ ]
0 e% f# r3 w- z- e6 o% r7 n" j/////////////////////////////////////////////////////////////////////////////, y) m! q( Z5 y
// ISwAddin implementation
3 S5 \! m  e- f/ d) o& i3 G9 t0 S4 t4 W. ?3 m- f# X3 F
STDMETHODIMP Cswobj::ConnectToSW(IDispatch * ThisSW, LONG Cookie, VARIANT_BOOL * IsConnected)
' O4 `" n" ^2 ?) E! y$ j# \! O{2 V8 a* h. O; a1 ]. Q& k; C( a
        VARIANT_BOOL status;) j0 O8 t8 f0 m& J- P: s
4 w+ ]8 H. E2 ?0 H( u2 A
        if (IsConnected == NULL)( z7 P8 Q8 E; D
                return E_POINTER;( Q9 n* J7 T2 z3 |+ U* U
$ x( e3 m, |" X$ \: b; F; r) }
        % _, G  Q2 p: s0 Y* r
        m_swCookie = Cookie;: y$ w3 X6 x% W8 B& X
        m_iSldWorks = CComQIPtr<ISldWorks, &__uuidof(ISldWorks)>(ThisSW);
5 e1 V5 W  l0 A0 ^        if (m_iSldWorks != NULL)
/ n- p; x4 G1 m# }# W2 r7 O8 p, J        {        ' Q( S- R& J. V6 g8 k  q
                m_iSldWorks->SetAddinCallbackInfo((long)_Module.GetModuleInstance(), static_cast<Iswobj*>(this), m_swCookie, &status);
" N: X/ u% o- A! t2 L5 `                AddUserInterface();1 k% z- z$ z0 N. m% a
        }
8 e5 m# ?% c, U- G, ^+ [# P$ \& b* y) S$ E$ b9 _
        return S_OK;
% q$ I9 T9 k  a& y. u6 S}; v, f  p% x9 F2 i$ @3 ^) [" X/ e

$ J1 h% d7 Z% E$ BSTDMETHODIMP Cswobj:isconnectFromSW(VARIANT_BOOL * IsDisconnected)
$ F& k5 o* S. m: t9 k# _( B% _{4 x" b# P: W( G
        if (IsDisconnected == NULL). ?7 S( ^$ r" s8 q' R3 w- U
                return E_POINTER;
# \( T7 z: u# p7 b7 _4 Z5 E1 `; J& l' t
        if (m_iSldWorks != NULL)/ d; o# y: H5 e9 V. n$ J
        {
) e7 X1 E1 U  v# J                RemoveUserInterface();. s- [: ~! t- h; P  A5 c9 `
                m_iSldWorks.Release();/ k: K. s9 m% }& o
        }& `7 E; J, v! e0 ]) r  R
$ r# X7 C5 `# S0 f/ `6 W6 E; k
        return E_NOTIMPL;
( Q; y1 i( }) K& K6 F! J}* G7 x7 V' N, {
* W+ v: B8 K3 j. v1 E% d/ f
; f* ^0 ?) ~* s) h$ ~% [4 K
/////////////////////////////////////////////////////////////////////////////$ b* Z! ~. O0 L+ [
// DSldWorksEvents implementation7 v  u- q  d" V! l8 L9 d1 c8 I

, F8 |4 X- V% Z/ z" l+ h. O; W  q- |2 j& |
/////////////////////////////////////////////////////////////////////////////% J3 m6 Z- G: c" B. i
// Iswobj implementation
  [* U/ Z6 ^& f* Q6 n4 V1 l3 ]) T2 B: d2 n4 N. y
STDMETHODIMP Cswobj::StartNotepad()) }' W% C/ I, y5 s4 F
{7 Y( k; o- b8 }1 V1 N$ j1 R
        // TODO: Add your implementation code here/ a( J. E; t9 P
        ::WinExec("Notepad.exe", SW_SHOW);" W, u  w, U  w$ P" ~. Q+ E. V2 x

- D6 O- W, B# a        return S_OK;" F% \% ~5 l* ]
}
2 {6 X" Y# ~4 T1 c( y
+ l( p- L0 y6 g7 B' |" XSTDMETHODIMP Cswobj::ToolbarUpdate(long *status)
0 Z3 _& U' h# s+ @$ c+ Q{
$ m. w. q/ Q+ y8 z3 _% k        HRESULT retval = S_OK;4 X1 G( |" G% w3 o# `" v  C

5 Q# d( B* g" g7 T        *status = 1;' e) O# V8 P3 X: P" Q! W% T
  Q- _  T, d% u6 c2 A! g
        return S_OK;
) |; j; @, |$ C}- G/ K) K( X$ F  o" y

& d  Y. N  h: K) @STDMETHODIMP Cswobj::first()//新建文件( @8 Z  O; B7 L( Z1 `' P
{
$ U/ @" U) |  w        AFX_MANAGE_STATE(AfxGetStaticModuleState())
, K2 ?5 c2 G# P9 G  O" p
8 c3 s% z3 N9 s; ?* C6 \  i        // TODO: Add your implementation code here6 o* K0 C% v/ E/ W
        HRESULT retval;( ~) O( G( `& I: C1 p& y4 ]) Y7 x, L
       
9 [4 i) n) k* v' O& A+ X        CComPtr<IPartDoc>pPartDoc = NULL;/ d  P) K! j: I' d
        retval = m_iSldWorks->NewPart((IDispatch**)&pPartDoc);, V' n# e, P1 P! R
        if(pPartDoc == NULL). J/ H* j8 S( ]4 x, P& o
        {
+ {: E! K. w" o1 H                AfxMessageBox(_T("新建零件文件失败"));
3 U. L1 K6 q) E- ^5 N! m: W6 n                return S_FALSE;
6 B  c- T. N6 @9 {3 o        }
4 j$ w: O: e9 }6 J5 D        return S_OK;
4 ?4 s3 C6 V5 M6 Q! i. m3 L. ~}
# f/ B. l2 T  j$ L8 p6 p/ ^
8 U4 G0 Y/ n( U: a( H+ VSTDMETHODIMP Cswobj::second()//创建圆柱
9 ], B" H( \; w- h2 g7 A. }* f2 l" b{# O4 A% @0 x: a4 t4 r
        AFX_MANAGE_STATE(AfxGetStaticModuleState())
. p- a5 \* F: _) \1 Z. T! W0 J4 O) |4 k
        // TODO: Add your implementation code here+ [: T- Z: R2 I+ }- ?
VARIANT_BOOL bRetval = VARIANT_FALSE;  Z  X3 u* u. J  s' P7 @+ M, I
- K( z& G3 ], ~
        CComPtr<IModelDoc2> swDoc;//定义ModelDoc对象1 S% d' j6 b  h5 @: d& n/ N9 ], e/ ~
        CComPtr<IModelDocExtension> swDocExt;//定义ModelDocExtension对象3 C0 o9 F* d) F
        CComPtr<IFeatureManager> swFeatMgr;//定义FeatureManager对象
. F4 n7 t& |, x8 ^* |  T1 t& t. A0 T" n0 H1 S) n) w0 T  O7 H( o' N! `% i
        m_iSldWorks->get_IActiveDoc2(&swDoc);///获得当前活动文档对象7 Y  F2 x- k! n) r- L& N! @/ E4 N
        swDoc->get_Extension(&swDocExt);///获得当前ModelDocExtension对象
* W2 X) Y# Q/ V6 w  H6 a# p        swDoc->get_FeatureManager(&swFeatMgr);///获得当前特征管理器对象8 b+ g0 `* h" m$ s) |
0 q. y: @- @8 {4 K0 z1 w$ d# d
        CComPtr<ISketch> swSketch;//定义Sketch对象% d; T# a; i0 j5 S! e
        swDoc->IGetActiveSketch2(&swSketch);///获得当前激活的草图对象0 d! R; o* v- V. W6 o# Q. L

0 K  `: W+ Z% B        if (swSketch == NULL)///如果当前没有激活的草图对象0 U# o8 E5 X2 W. y/ A
        {. ]! r  C( Z5 I7 Y$ H% `
                swDocExt->SelectByID2(L"Front Plane", L"LANE", 0.0, 0.0, 0.0, VARIANT_FALSE, 0, NULL, swSelectOptionDefault, &bRetval);///选择前视基准面
7 o- T, B  e' s0 D4 C                swDoc->InsertSketch2(VARIANT_TRUE);///添加草图
4 ^6 Q" Q0 P$ L% ~: I        }
7 C6 I* q8 T! N* w' r: ?/ m$ L  e: K" u8 E* V9 L6 U
        CComPtr<ISketchSegment> swSkSeg;//定义SketchSegment对象4 T% p1 E; U% x) c
        swDoc->ICreateCircle2(0.0, 0.0, 0.0, 0.050, 0.0, 0.0, &swSkSeg);///新建一个圆
3 D- y* r8 ?. T* I        CComPtr<IFeature> swFeat;//定义Feature对象
. O5 |) U5 K2 g: B: q. ]- Z
" _$ R7 u; a0 a# |3 }. h. C+ f        swFeatMgr->FeatureExtrusion2(VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,0, 0, 0.100, 0.100,///拉伸( O3 c2 N, N* P+ a
) V* E9 v. y" c# }
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, 0.0, 0.0,
$ l1 z! O6 b( Q( `4 p( `# H& P/ S8 A% T. X4 `6 X% w8 C
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,3 C. R# d+ r6 O( S  y. J

% F/ ?( J5 D- A# c) s5 _+ x        VARIANT_TRUE, VARIANT_FALSE, VARIANT_TRUE, 0, 0.0, VARIANT_FALSE, &swFeat);. b* \/ g9 A7 \: T# C$ `. `
        return S_OK;2 t  u( k9 D/ C6 a! g
}3 }% E, Z5 \4 y4 L9 ~5 p5 O7 E
# H; X" K/ R; [, S" ^5 I

4 X$ H# j; S8 \9 b6 [) Z# K

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +1 收起 理由
a99335 + 1 玩的高深

查看全部评分

回复

使用道具 举报

2#
发表于 2016-1-10 23:39:54 | 只看该作者
还要学习高级编程语言,搞这么复杂,主要用在什么方面?

点评

不才认为纯属多余 !  发表于 2016-1-11 09:15
回复 支持 反对

使用道具 举报

3#
发表于 2016-1-11 07:50:51 | 只看该作者
看的眼都花了
回复 支持 反对

使用道具 举报

4#
发表于 2016-1-11 08:18:41 | 只看该作者
尤记  哪年哪月学过c语言 c++  好像成绩还不错 现在这 扎一看 不明觉厉a 
回复 支持 反对

使用道具 举报

5#
发表于 2016-1-11 09:52:10 | 只看该作者
二次开发对复杂装配体的变型设计才有用吧,单个零件拿来干嘛,做重构库?
回复 支持 反对

使用道具 举报

6#
发表于 2016-1-11 11:00:06 | 只看该作者
额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有些帮助。我当时做的时候,是通过录制宏及查阅API的help文档做的,单个零件建模的话,其实就是不断的草图绘制和特征建立,而这里面最难的就是草图、基准面什么的选取,找准ID就好了,你可以录制macro文件之后看看。至于你说的这个轮毂的建模,难度应该不大,就只是工作量的问题。
回复 支持 反对

使用道具 举报

7#
发表于 2016-1-11 11:35:55 | 只看该作者
弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完全不会用二次开发,但是感觉好像也能画出来。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2016-1-11 17:52:20 | 只看该作者
喂我袋盐 发表于 2016-1-10 23:39 4 B# [0 I% E* k7 W: S  u
还要学习高级编程语言,搞这么复杂,主要用在什么方面?

$ S& S, D( v/ T4 c7 B- s# i6 N. q; `这个好搞零件库
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2016-1-11 17:53:28 | 只看该作者
余存 发表于 2016-1-11 11:35
( T6 _, T, N( U% b& k% r弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完 ...
5 G' M4 c. ^+ |$ K. o6 Y
要弄零件库,和各种轮胎装配
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2016-1-11 17:54:03 | 只看该作者
Brian_Hou 发表于 2016-1-11 11:00 4 ?. b$ ~# }1 ]( A: q; C7 v
额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有 ...

6 a& J7 b, M: g. b7 r9 H; U2 M初学小弟感觉很难啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 06:07 , Processed in 0.078256 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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