机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5991|回复: 11

SolidWorks 二次开发 求助

[复制链接]
发表于 2016-1-10 22:28:36 | 显示全部楼层 |阅读模式
请问有没有哪位大哥大姐对用c++对SolidWorks进行二次开发比较熟悉的,比如下面这个轮毂怎么用C++程序画出来
3 l$ _& x* L3 C$ O" |9 A这是轮毂源文件: W  z' w* q& p% U* G; i7 F
各位大哥大姐如有其他三维建模程序的,能不能传给小弟我学习学习,感激不尽了!小弟这边也有些机械方面的资料可以和大家共享。
& k  a' _& F/ C; M/ F$ g下面是小弟编的一个程序,新建文件——创建圆柱。
, C' ]0 s% e5 }% G# L/* NOTE: You will need to add the -GX flag to your Project Options in Project->Settings->C/C++*/) x: E4 L1 E, \% Q
// swobj.cpp : Implementation of Cswobj
# X9 U; F# [: A: T' X& e#include "stdafx.h"+ p& U. |2 J6 F4 D
#include "111.h"  L! V$ [2 o6 M1 K- |0 K0 }
#include "swobj.h", m, u0 r7 E1 i! o) ^1 \

1 J" c0 m' O. q$ x, h0 _$ {( }/////////////////////////////////////////////////////////////////////////////! f+ `# G; s+ ^4 U2 k. B% N" F1 w8 g
// Cswobj) ^* \% M6 i1 }5 l! k  O. c$ v" d
3 T, v! \+ s; ^$ _, B
void Cswobj::AddUserInterface()& Y' L  ~: ~0 s/ y- C1 U) h
{
- g6 `6 @4 d. G: G  ]% N        AddToolbar();* R- j+ c- ?" f" W
        AddMenus();
# P# r6 d+ W3 h9 f6 v3 y2 _}
! U; b7 w! M% k$ h
7 r5 h) E  c) i3 d2 _* Y: hvoid Cswobj::RemoveUserInterface()9 E" O" o2 l! n0 J* X
{4 G* c& H2 x% I  _# F: y0 n
        RemoveMenus();: O' q4 e) @  K! J. U) F7 @
        RemoveToolbar();5 {6 b1 |  C9 a8 {3 U
}7 i9 g* k' _" A1 o, H9 P$ m# x
9 ?2 t1 B0 Q1 V$ H$ ?, l8 f7 q
void Cswobj::AddMenus()6 k- U5 ]; [$ f/ G4 M9 w
{
/ C4 |! W# _: L- M# S        long retval = 0;
& C' d5 @( N# V' ^        VARIANT_BOOL ok;5 V; x" p. _# X4 q& |4 m
        long type;8 J* b: a1 ?8 |8 @3 k: [
        long position;4 j& d( m8 I( @5 G" w
        CComBSTR menu;' G0 X2 t9 I' Q! s  j
        CComBSTR method;
1 V: Z- v9 O5 V+ c6 e        CComBSTR update;( f4 D1 X* S* S0 _; ^
        CComBSTR hint;
  o$ {4 a3 T: n5 O+ h9 a* t) W
4 t8 M  y6 `, A+ n6 h        // Add menu for main frame
' g6 ?4 [2 c$ d3 N        type = swDocNONE;
9 l7 c$ f1 H! R        position = 3;
! o+ d3 P# y7 Y# w2 n5 T        menu.LoadString(IDS_MY1_MENU);0 k1 G2 X" w: [* W" H4 Z
        m_iSldWorks->AddMenu(type, menu, position, &retval);
! ~/ d6 P+ `& `' ]
$ }4 I' _* f; R" w7 h        position = -1;
9 q: w/ A9 J$ _6 l: O        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);8 S" V$ O+ q! _) v# n' K
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
6 s; Z* m. n& F  D        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
6 u3 Q& n& G" g. i3 U& W& v$ w        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);& G+ R8 R4 Z% P7 ?* s7 ~# i

- {9 N9 y2 }  O6 j: l+ R$ s( F0 d        position = -1;  //wb9 R& z# X/ E. f& {
        menu.LoadString(IDS_111_ITEM);; \5 h' X: W% y  p+ f& `
        method.LoadString(IDS_111_METHOD);) \6 y: ?) z2 [( L4 J
        hint.LoadString(IDS_111_HINT);
/ Y$ S% U( d/ o% j* n        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);- [: p* J/ a0 k1 e' g7 C$ j5 B
) T& T( ^% y. D$ ^
        // Add menu for part frame
* ]; c5 ?$ y/ u' g; ^$ N, S; S9 H& B        type = swDocPART;) N0 h! r6 t1 K2 R" g5 z; X
        position = 5;
) O; W( R! @3 x, j4 p        menu.LoadString(IDS_MY1_MENU);
, y  o1 M. H6 t* {        m_iSldWorks->AddMenu(type, menu, position, &retval);- N8 \' u" l  \3 K+ h9 I

4 P2 t7 i9 \& W$ q        position = -1;  //wb1 Z# Y. V! q2 B& {; Z& E
        menu.LoadString(IDS_111_ITEM);5 H( }* s0 {# d, L
        method.LoadString(IDS_111_METHOD);7 N! j( e9 `( p- O/ N3 P
        hint.LoadString(IDS_111_HINT);
* j3 n6 H, ~" @5 l9 D        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
' {. u  P! E" _" O, z* {% R! @- x& Z' i$ P. a
        position = -1;  //wb+ Z' l( W6 s3 i0 f4 n/ C: f
        menu.LoadString(IDS_111_ITEM2);
: N8 M6 G+ d/ V0 |, p$ l: h        method.LoadString(IDS_111_METHOD2);0 A6 R8 i% x* n' m9 k( Q* b
        hint.LoadString(IDS_111_HINT2);. @, A8 }. f) A
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
0 }  b5 Y1 J' p/ [8 f
. {1 L) ^7 p2 j, ]' W7 B( D" V        position = -1;
2 o9 v+ c* J* K        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);: B; x4 l( y, ~& g( J& N
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
0 W9 g# _8 s1 t$ E& T        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
, E5 W/ i3 W, o        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);2 u! U# y0 P, t; X( y& o) P

4 K. \5 X) B% O; T        // Add menu for assembly frame
% `$ A: D# n7 G& ]" e( w2 J- @        type = swDocASSEMBLY;" d- y$ L" A. o4 [4 U! `
        position = 5;: r+ H( [4 g" `# P
        menu.LoadString(IDS_MY1_MENU);
( e4 x$ h9 p4 G' E3 c" e        m_iSldWorks->AddMenu(type, menu, position, &retval);. _: T) y" ^5 P: a: P* R8 @0 J: L5 N

0 {  g: y5 z( w+ O4 f+ o9 U        position = -1;0 i. x4 G# p. ~- M1 v: i
        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
  F! K% x& V: K( B$ h: y        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
8 L8 l$ G9 r) i" t. n, ?+ a        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
5 ?. W5 E- M3 G, {9 }        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);4 `. Z0 W0 T; e' m1 }. H; ]

# @* f1 m( ~, A4 }. ?# R  d$ o$ ]        // Add menu for drawing frame
9 ~# |6 s8 c( c* H# {% u        type = swDocDRAWING;* ]6 e- t  A' ^# K7 ?/ C
        position = 5;4 n0 s. c5 e' K- X. M
        menu.LoadString(IDS_MY1_MENU);
9 W$ w3 D0 c1 M9 f5 D8 U        m_iSldWorks->AddMenu(type, menu, position, &retval);
& s$ s0 t9 h4 ?% E1 L) V        position = -1;) |' ~6 J( Z" G! i5 T1 O5 V
        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);- I  L4 v" j* S  A, f$ N
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
2 @  {& w- N. V        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);* H. j( N$ Y9 Y' ?4 g. c8 w! r
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);2 _  Q9 L: l# q$ `
& l4 R% Z- t/ W  {. A! I
}
( d; P% u" ?0 J# {! \( u8 a
# a5 j% `$ y! H' F% Lvoid Cswobj::RemoveMenus()
: s4 l" d3 @0 E: Q$ f{
4 k0 k3 N$ d1 K/ E  ^0 w        VARIANT_BOOL ok;
' U- N' E) ]* _) o3 |. g; _: G        CComBSTR menu;$ [/ ~) d: N0 W% `' I

  W" w3 h. c5 \  @0 `        menu.LoadString(IDS_MY1_MENU);
3 e9 b2 j# n: k$ G8 k        m_iSldWorks->RemoveMenu(swDocNONE, menu, NULL, &ok);
& `/ m* Z1 w% E9 x8 i  y* l        m_iSldWorks->RemoveMenu(swDocPART, menu, NULL, &ok);
& G1 y; M" y, \* ]1 ^        m_iSldWorks->RemoveMenu(swDocASSEMBLY, menu, NULL, &ok);
9 B! c+ w" ~4 p7 m! `  Z4 v& q! k        m_iSldWorks->RemoveMenu(swDocDRAWING, menu, NULL, &ok);* |" w* m1 s  r6 \- W6 `0 R4 c
}
& c/ U3 o7 w2 D9 a" i( m' C9 b: A7 m9 w& |8 X  h
void Cswobj::AddToolbar()
7 _2 F0 E; x5 h5 N{, r- C; _; l% Y! p0 V2 ^
        VARIANT_BOOL stat = VARIANT_FALSE;- `# @' w4 P7 g" l
        VARIANT_BOOL ok;
6 ^  ~) J1 O# J* T8 p0 q        HRESULT hres;
3 n0 ]5 l# I/ U1 ?3 N
6 u8 ?8 W5 ~. e% ~+ O1 ?% E8 R        CComBSTR title;& E3 o- ?, s- o1 }6 p' g
        CComBSTR callback;  F( }$ f2 b7 }& v; x
        CComBSTR update;
1 a" z7 \2 ^$ z4 x        CComBSTR tip;/ r; _1 ^7 D( i2 P1 l& J. Z
        CComBSTR hint;7 \5 l6 ?  N: `
        if (m_lToolbarID == 0)
, B* X0 B7 |! \6 U        {
- c( l" l  k# a3 Y9 W/ {                title.LoadString(IDS_MY1_TOOLBAR_TITLE);# _4 V- T* V* e' ~; k/ n$ k
                callback.LoadString(IDS_MY1_TOOLBAR_CALLBACK);
& Q  w$ J! D: W% \- y# M7 ?+ q2 W- Z                update.LoadString(IDS_MY1_TOOLBAR_UPDATE);
; W4 k& v& u1 W8 v" w$ M                tip.LoadString(IDS_MY1_TOOLBAR_TIP);$ V  q  E  F% ?6 Z: [
                hint.LoadString(IDS_MY1_TOOLBAR_HINT);7 f5 b% ]: `. Q
8 M# ]( P3 j( o1 P/ F
                hres = m_iSldWorks->AddToolbar3(m_swCookie, title, IDR_TOOLBAR_SMALL, IDR_TOOLBAR_LARGE, -1,
: L6 H$ G& \" J, x2 S0 Q                                                                                swDocTemplateTypeNONE|swDocTemplateTypePART|swDocTemplateTypeASSEMBLY|swDocTemplateTypeDRAWING, &m_lToolbarID);. N% n, ^1 d" H7 c- \

. @: I8 C9 E4 n# ?8 ~6 `% U" C                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 0, callback, update, tip, hint, &ok);
9 F) o; Q; o0 |; v. n: e                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 1, callback, update, tip, hint, &ok);
: W# n0 L( l* \& l4 l: A                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 2, callback, update, tip, hint, &ok);
% e4 F' e8 B6 x5 b- e0 Y: T" ?0 k2 R% \5 \4 @8 p
        }
; n. d% F7 ^* Y8 l6 C}
, E1 D4 k3 @) d
5 G; m# R# B/ S" S: M, Mvoid Cswobj::RemoveToolbar()) c3 }5 a- X( l5 r* C
{
. V7 u; @, J+ i/ J2 F& V. v1 O        if (m_lToolbarID != 0)
; W! y* g4 Y$ \! m, F        {# p5 P# G- }! z+ \) O
                VARIANT_BOOL stat;* n: ]. ^9 K% u7 r0 p6 d+ _

$ n. N, z. n5 ^. j4 m; v                HRESULT hres = m_iSldWorks->RemoveToolbar2( m_swCookie, m_lToolbarID, &stat);
4 m/ n+ D( g0 d/ a# J                m_lToolbarID = 0;
' |4 B& f) |# v$ m4 w        }
+ B: J7 i( O7 J}
8 p' k7 z+ i: i! b! l
' V/ N" R. W- i7 A% }# H7 I# r* K, x. ~; B& U1 s/ b% M8 W
/////////////////////////////////////////////////////////////////////////////3 v5 w* I% P6 q+ m7 l, ^  D
// ISwAddin implementation1 A/ N4 u" u3 x8 m, ]$ Q! h
4 N. o( \; l2 c
STDMETHODIMP Cswobj::ConnectToSW(IDispatch * ThisSW, LONG Cookie, VARIANT_BOOL * IsConnected)8 S- c" S- x3 t: p. I+ o* n
{  F7 |. `, n; R2 K* |
        VARIANT_BOOL status;
! w5 T$ y1 u4 k! ~( W  ^& V) _9 Z8 N% q0 z  r3 e# P7 r' X
        if (IsConnected == NULL)$ y4 o3 B1 q: y* f* |! I
                return E_POINTER;
& ~) M5 }. S# U
9 E' `& v; u. d: X# C. y$ @# T       
& t8 |( `: ?( O; ^        m_swCookie = Cookie;& }6 [* H8 f5 M9 ]2 G
        m_iSldWorks = CComQIPtr<ISldWorks, &__uuidof(ISldWorks)>(ThisSW);
! {2 C, q' L( Q, G; y1 V; m" @        if (m_iSldWorks != NULL)( c5 ~  j8 n' |. m# i% d
        {       
! M* l# P$ N- p. ~# _$ v                m_iSldWorks->SetAddinCallbackInfo((long)_Module.GetModuleInstance(), static_cast<Iswobj*>(this), m_swCookie, &status);; Z9 e$ o5 \- J8 t- T
                AddUserInterface();
$ T' ]2 ~) w+ ?0 x# F  \$ P6 o        }
" }: n4 v2 W  P# t# y" u& z
: y! U! h7 v% i8 V7 @5 }5 E& [        return S_OK;
9 M2 ]& `  Y8 |  v}
" ~$ w  S7 |* H! C
7 ?+ T# x; u- GSTDMETHODIMP Cswobj:isconnectFromSW(VARIANT_BOOL * IsDisconnected)/ t7 y4 P3 j/ v" ~/ z0 H* m" n
{
: t, `+ u" a6 u: G        if (IsDisconnected == NULL)
" |# _# x* G7 s                return E_POINTER;
9 K! }% }0 i& l6 E
, ~0 b/ x* W4 d$ z        if (m_iSldWorks != NULL)
( L! v/ i/ l) F" V        {
6 b7 ]8 I" e7 S3 B% v* s                RemoveUserInterface();
: J) R* I0 Y5 _. f, ]& ]                m_iSldWorks.Release();" z8 o" V, N$ Q% F
        }
* \( j- A/ {+ o. O
/ s; R, v+ P/ O1 Q        return E_NOTIMPL;6 u5 s2 X7 t0 p, X! }
}2 q' d2 m% ?2 V  S2 a3 e4 {
0 d  T# G' @# E
. u3 n: e8 ^0 R, i* n
/////////////////////////////////////////////////////////////////////////////7 f! ~  n0 q* y# E# M9 V
// DSldWorksEvents implementation
* B- C4 c# W/ g7 [3 h2 L# p. U' g/ m) N% K

& I8 r$ W$ [0 j7 H( _1 q3 T/////////////////////////////////////////////////////////////////////////////
' }% \/ r2 ^# W: O// Iswobj implementation
5 I( Q; O: _5 i3 y6 r" E( x* ?# N# B# ]* F0 q' L' o7 O
STDMETHODIMP Cswobj::StartNotepad()
* w; H7 K3 m" ?8 b9 t{1 |& V' ^0 V1 {! ?3 \" }
        // TODO: Add your implementation code here; k# d) S, S8 I% D$ b
        ::WinExec("Notepad.exe", SW_SHOW);5 X8 K) r( L9 h% R

! U4 F! u) i8 q! v2 {( _' s. B- G! w        return S_OK;5 q. }: Q' q" \
}6 l- A# @/ _' p; g2 e

) T  e+ h/ e9 L  x$ pSTDMETHODIMP Cswobj::ToolbarUpdate(long *status)1 ]* D2 W+ q' k9 \
{
& L: ?1 i# s9 o# Y7 E        HRESULT retval = S_OK;2 N8 ~8 X7 _( d/ T

9 M' }( z& |' F' B  a7 _        *status = 1;1 X) h# R% H5 x; m0 j
1 {- ~/ X4 ?* O8 V7 ~
        return S_OK;. ]5 e! z+ k' Y. e
}
. `/ ^) S: G" S/ o5 H) Y. H3 f5 q+ [: S) y, S
STDMETHODIMP Cswobj::first()//新建文件$ R* W# ~$ d# s3 s6 B- ~  x
{. g, E' [" T5 N
        AFX_MANAGE_STATE(AfxGetStaticModuleState())$ ~' D" T2 n; Z) A( r6 B

4 H/ W+ }9 n! z2 p        // TODO: Add your implementation code here: J; q8 [4 C2 p5 w3 Z' V! _
        HRESULT retval;
9 T) Q( Q: f  t; c       
& F* X/ C+ ]5 n3 F        CComPtr<IPartDoc>pPartDoc = NULL;& _, R, K  k# E) O4 _) e; l
        retval = m_iSldWorks->NewPart((IDispatch**)&pPartDoc);
# r2 ?0 W9 I  L5 h; R        if(pPartDoc == NULL)0 N, ?, d7 o/ L& y4 _
        {
4 B. B$ L) f- u/ W1 ~% M2 W! d# p                AfxMessageBox(_T("新建零件文件失败"));
4 u' i) W5 }* C, P" j                return S_FALSE;' x, o4 H  M; w+ J- K2 w
        }
8 H9 l7 _* g# i7 Q        return S_OK;. H/ c, N' {  [4 S
}
+ H# E, v/ B6 W. C- C- b3 P& i# w( [+ r( M  G& u, J" g# b
STDMETHODIMP Cswobj::second()//创建圆柱
- G5 m* a+ o6 R{* w* `8 m& n$ F3 t
        AFX_MANAGE_STATE(AfxGetStaticModuleState())
) M+ D0 ?; L5 q! x; B# `2 b1 G9 \' F1 g% e4 R
        // TODO: Add your implementation code here
' w" Q9 r& M! P1 @VARIANT_BOOL bRetval = VARIANT_FALSE;9 V  [* S# P2 ]( h1 |& r

4 A, W- k* E& p        CComPtr<IModelDoc2> swDoc;//定义ModelDoc对象
9 a( n. J4 W- W  n, N! E4 I        CComPtr<IModelDocExtension> swDocExt;//定义ModelDocExtension对象
) d3 |; C! N7 |  i$ |        CComPtr<IFeatureManager> swFeatMgr;//定义FeatureManager对象- o0 f2 L6 v$ A* g
+ h& p& i; W/ u: K$ G; ]; d
        m_iSldWorks->get_IActiveDoc2(&swDoc);///获得当前活动文档对象4 X' O$ ~% y) p) \) Q. Y6 }5 z
        swDoc->get_Extension(&swDocExt);///获得当前ModelDocExtension对象
* y7 Q7 S1 [  u1 |        swDoc->get_FeatureManager(&swFeatMgr);///获得当前特征管理器对象, H, `7 ?5 L9 G+ z( h$ Z& j

) ^6 U- W5 z) h5 `, z( f3 K* U        CComPtr<ISketch> swSketch;//定义Sketch对象
) O+ A6 g5 s# Y& A. y& J0 @        swDoc->IGetActiveSketch2(&swSketch);///获得当前激活的草图对象% I8 v& k! ~0 U/ z& O9 ^8 ]& S
# o$ h3 q+ X. k2 y5 f: W/ ~
        if (swSketch == NULL)///如果当前没有激活的草图对象
8 `" @8 A8 X% f        {
4 L+ }6 G* h- A0 w) |5 k% @                swDocExt->SelectByID2(L"Front Plane", L"LANE", 0.0, 0.0, 0.0, VARIANT_FALSE, 0, NULL, swSelectOptionDefault, &bRetval);///选择前视基准面; E+ D; R: V+ {- V- ?5 W$ ^8 v
                swDoc->InsertSketch2(VARIANT_TRUE);///添加草图
1 B9 h- u- ~7 y        }
1 e* t8 g! ^5 N. o) g6 f7 f! s) h8 u* X
        CComPtr<ISketchSegment> swSkSeg;//定义SketchSegment对象; q* k' A5 C. N) F# z  }
        swDoc->ICreateCircle2(0.0, 0.0, 0.0, 0.050, 0.0, 0.0, &swSkSeg);///新建一个圆
. t8 B8 \  u6 v        CComPtr<IFeature> swFeat;//定义Feature对象, q0 v2 D0 N( L
8 p# R, P' n) A2 O& c7 W
        swFeatMgr->FeatureExtrusion2(VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,0, 0, 0.100, 0.100,///拉伸
# F4 r/ T# c" V' P) J( }( W5 ~& f) [9 h  j6 X% u6 D
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, 0.0, 0.0,% C+ @7 z1 s$ F& p; U
) g5 D* s5 S7 I7 G6 E0 Y! Q! n  i5 ^' q
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,
3 r" v9 b, r. p8 ]- `2 x4 |: O9 R) R) l: d8 K) B
        VARIANT_TRUE, VARIANT_FALSE, VARIANT_TRUE, 0, 0.0, VARIANT_FALSE, &swFeat);
2 v& y  ~3 T+ q& A        return S_OK;, _2 G' p: k) J& b
}
/ [0 |- C* B6 e
- Y6 z) }5 \7 I. j/ k+ ?% n, d2 `( C

本帖子中包含更多资源

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

x

评分

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

查看全部评分

回复

使用道具 举报

发表于 2016-1-10 23:39:54 | 显示全部楼层
还要学习高级编程语言,搞这么复杂,主要用在什么方面?

点评

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

使用道具 举报

发表于 2016-1-11 07:50:51 | 显示全部楼层
看的眼都花了
回复 支持 反对

使用道具 举报

发表于 2016-1-11 08:18:41 | 显示全部楼层
尤记  哪年哪月学过c语言 c++  好像成绩还不错 现在这 扎一看 不明觉厉a 
回复 支持 反对

使用道具 举报

发表于 2016-1-11 09:52:10 | 显示全部楼层
二次开发对复杂装配体的变型设计才有用吧,单个零件拿来干嘛,做重构库?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2016-1-11 17:52:20 | 显示全部楼层
喂我袋盐 发表于 2016-1-10 23:39
; P3 \: F% t, H) A: S2 h& h, s还要学习高级编程语言,搞这么复杂,主要用在什么方面?

& W0 ^- A# F' @3 W) }" h& D这个好搞零件库
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-11 17:53:28 | 显示全部楼层
余存 发表于 2016-1-11 11:35 . b- R4 x. W5 Y
弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完 ...
4 @  G7 V# ?# V- U4 C
要弄零件库,和各种轮胎装配
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-11 17:54:03 | 显示全部楼层
Brian_Hou 发表于 2016-1-11 11:00
- l+ F3 m. z3 Z( a- O4 u额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有 ...
* q9 I* B9 f8 H0 k/ ~
初学小弟感觉很难啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-19 07:15 , Processed in 0.074126 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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