机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 5542|回复: 11

SolidWorks 二次开发 求助

[复制链接]
发表于 2016-1-10 22:28:36 | 显示全部楼层 |阅读模式
请问有没有哪位大哥大姐对用c++对SolidWorks进行二次开发比较熟悉的,比如下面这个轮毂怎么用C++程序画出来
& p& N) w; T7 G9 |! V6 l这是轮毂源文件
& b$ K/ e$ L/ j# L- P0 g各位大哥大姐如有其他三维建模程序的,能不能传给小弟我学习学习,感激不尽了!小弟这边也有些机械方面的资料可以和大家共享。
. N) k. G; E& `) M$ a8 H0 y5 g1 @下面是小弟编的一个程序,新建文件——创建圆柱。# }' k( N, H+ B1 p
/* NOTE: You will need to add the -GX flag to your Project Options in Project->Settings->C/C++*/+ }, I4 @7 }' Y) {- t  E8 Z" Q
// swobj.cpp : Implementation of Cswobj
( _/ ^$ x+ q" y  m( M8 x+ Z. f#include "stdafx.h"- g' H1 c* O9 Q3 a; t6 C( I, K2 {
#include "111.h"
3 v/ P( K$ X" c0 ^( r7 O#include "swobj.h"
$ J+ e0 p+ c# I; Z3 R6 y- U5 U
# ~1 Z( H8 V+ t; Q6 D, e  ?/////////////////////////////////////////////////////////////////////////////
5 Q; i. ^" n/ m0 ~- o+ p// Cswobj
  Q/ K( z2 {( y; s( x; s* `( ?% E3 l7 S. g/ R4 P6 X% f
void Cswobj::AddUserInterface()
, j# _! I  [% Q/ T{
! ]9 t% i- f( z& X8 t3 Z/ _        AddToolbar();$ s7 {, N9 J4 g, {$ A6 v
        AddMenus();: d/ _$ `3 w+ U; Q9 Z/ M; b* Q5 U( @
}
) X+ [" \( f) d3 U4 y
2 }- {0 G4 ^8 u# r$ T9 |" k0 Ivoid Cswobj::RemoveUserInterface()) f0 h. W0 O5 j) H" e2 ]
{  }! ]9 [" d# G
        RemoveMenus();' G) E: L6 a; |* H" T
        RemoveToolbar();0 a- _: a4 ^, T6 Q- y
}
  F# Z( b1 U8 j9 U
- t( l# M9 Y" q  Fvoid Cswobj::AddMenus()- t/ r. ^8 W2 W. z% s8 T6 _8 |
{
) `" U& J+ q# Q. V        long retval = 0;% _: d8 h5 }- ^6 G: R. u; q
        VARIANT_BOOL ok;0 W- H% _& A0 }( i# v
        long type;
$ O3 P" D7 V* D  A5 p8 g        long position;3 Y7 }( p1 S& w4 I# p
        CComBSTR menu;5 g) n9 S; w( ]% ]' i) j
        CComBSTR method;, D' C" _2 U  L& W3 u4 m9 B& p. X8 [& U
        CComBSTR update;
9 i+ j1 R. D8 Z' I        CComBSTR hint;5 y1 `  z9 S; `- z# z. M4 v
5 i+ i# o1 {8 [
        // Add menu for main frame8 N; A- n, B/ F1 C% J# F
        type = swDocNONE;
3 a2 I0 x$ K2 B9 Q4 E7 J0 e        position = 3;0 y9 O% ^5 F! X: E: t7 N( m
        menu.LoadString(IDS_MY1_MENU);" N( j* L+ X" g/ ?7 i1 Z- c
        m_iSldWorks->AddMenu(type, menu, position, &retval);
4 U: s( K! l7 O  N5 O
- Z! ?6 {" ?9 c% Z        position = -1;
# [* x0 U2 K" s# [4 o5 h        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
6 z; t! t) C: e' N        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
& p4 B  U) w' r1 m7 I9 ]% S& v        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
% e" K) k; r+ U/ s5 v/ Y# q        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);% s. o% _' q1 Q

! _4 G# s/ q0 R! z        position = -1;  //wb8 |4 `' q6 A; G: [1 S* ]% d" e
        menu.LoadString(IDS_111_ITEM);* ?& O, Y0 d! o' n
        method.LoadString(IDS_111_METHOD);
; J: q+ `1 T7 W  l* A1 D& N; R  d        hint.LoadString(IDS_111_HINT);1 S! E' v- m4 Y3 A6 L
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
. w" f) U. [/ \" {# l) k2 @8 p* F+ O8 _8 t6 @' i% Y6 }
        // Add menu for part frame
' ], f5 F$ l2 M/ T) P0 B6 z        type = swDocPART;
% n5 T; e, P2 ^        position = 5;9 J1 A1 u- g- S
        menu.LoadString(IDS_MY1_MENU);) Z! m" x0 m$ c- `
        m_iSldWorks->AddMenu(type, menu, position, &retval);
- Z; y' X6 b& o# C/ W. {, e. H' [8 p9 n
        position = -1;  //wb
9 m- e1 W; q' j8 M* ~# c2 [# z        menu.LoadString(IDS_111_ITEM);
7 ]4 a& L( S8 s% f0 u- Q0 H        method.LoadString(IDS_111_METHOD);# `1 @# |/ o$ K# I; q0 O  @
        hint.LoadString(IDS_111_HINT);; G9 ]! q) O6 p% G$ m( Q& T
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);4 {4 m) Q) `% Y1 o/ K% e! H7 \% {# P) }
+ u) ~  z1 W. Z
        position = -1;  //wb
- B: _/ [, B3 R( _3 _        menu.LoadString(IDS_111_ITEM2);
. [1 J$ m: B' A5 R& t# p: v7 C3 [        method.LoadString(IDS_111_METHOD2);
0 P0 E% p) q3 {        hint.LoadString(IDS_111_HINT2);
! _; g; x4 H0 z" I5 V& ^        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
3 w& s+ Z3 G" a, t- |) Q, V0 ^( E8 \/ P8 F  u% b+ k; L2 b4 W
        position = -1;
1 |  X% V8 F* h6 R        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
9 m4 b2 X' [6 O/ E        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);  h4 V2 c3 F) m2 P& O
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);: l6 {* {) r+ ^& d- ^" u
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);' |4 _" i* I' V; {; I# g

$ _- ~) Z5 @/ d$ a3 T% G        // Add menu for assembly frame
: v% y$ J$ u( u5 e% x        type = swDocASSEMBLY;
7 i8 S% A# x  E& P+ q, e        position = 5;5 N( m+ S# c* n
        menu.LoadString(IDS_MY1_MENU);
0 C, {4 ]6 ~$ g8 X        m_iSldWorks->AddMenu(type, menu, position, &retval);
& A  Q% e# n4 r% [/ ]; A8 L! ~' H- o$ Q( I. t* p
        position = -1;4 c3 Q8 g0 L& E! r9 V! K
        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);
1 c0 e9 r  l7 X        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);
5 P8 P1 g# Q1 Z) b! f: i. \! \' e/ y        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);
. h7 t) N# e% C( r, _        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
  ~4 i3 J! ?( ?% u( a% x
- j. B+ r& R' |% @# _& k        // Add menu for drawing frame
* d4 C6 L/ ]; o  T        type = swDocDRAWING;
8 M! ?% y2 R5 a5 u, G        position = 5;
1 u1 `7 O: F' T0 J        menu.LoadString(IDS_MY1_MENU);3 `) I1 S* L$ c$ r8 x' P
        m_iSldWorks->AddMenu(type, menu, position, &retval);
; S, d6 K& j  Q, W# p) |6 i4 i& w        position = -1;( n, z2 X/ l0 O
        menu.LoadString(IDS_MY1_START_NOTEPAD_ITEM);0 u, E5 s6 U0 F6 [# E5 u) w
        method.LoadString(IDS_MY1_START_NOTEPAD_METHOD);1 i1 B3 F7 {9 K# s+ _
        hint.LoadString(IDS_MY1_START_NOTEPAD_HINT);, L& |6 t: }/ u% D; l$ E
        m_iSldWorks->AddMenuItem2(type, m_swCookie, menu, position, method, update, hint, &ok);
/ n+ V% T' p7 N
( x7 v% O# ?2 K' g- Z+ q}
. ]* u/ p9 g7 ]8 e) c( `. S; C# A
void Cswobj::RemoveMenus()
* n+ V6 {3 }7 ^6 q{
, M+ P- i; }3 V' `9 n        VARIANT_BOOL ok;/ Y: x* U! j* u' v4 X$ z6 Q
        CComBSTR menu;4 i7 u% n6 a' x2 Z
7 Y5 ?5 ~2 Q' L: @
        menu.LoadString(IDS_MY1_MENU);
, j, [( Y  z* N, E$ P        m_iSldWorks->RemoveMenu(swDocNONE, menu, NULL, &ok);
2 E: g" [  ?& g! _* @! l+ c0 s        m_iSldWorks->RemoveMenu(swDocPART, menu, NULL, &ok);- h7 g" N; K2 e
        m_iSldWorks->RemoveMenu(swDocASSEMBLY, menu, NULL, &ok);  H: s' Y% r& R, x/ M
        m_iSldWorks->RemoveMenu(swDocDRAWING, menu, NULL, &ok);
4 m0 e/ B" r; V- B: F+ d, M# z}
# h! \. c+ p4 d& p; R0 X2 h; U' U8 p: e
void Cswobj::AddToolbar()
( g5 D4 T' [6 z% n6 V3 V; W{
$ n2 F/ h: C" h! o. X5 ~        VARIANT_BOOL stat = VARIANT_FALSE;6 e2 i% o9 c5 m8 J/ g" W
        VARIANT_BOOL ok;
, @7 z7 X) B4 p* h        HRESULT hres;+ z2 k1 ?% |7 E- l

# S; `, t. m$ K) w: A        CComBSTR title;
. L7 q( \7 U0 ^7 v& a$ v0 H9 O! W; ^        CComBSTR callback;
0 R' p5 n# D, ]  Q1 S        CComBSTR update;4 }' ]9 J- G7 W2 |
        CComBSTR tip;% v) S* t8 f6 K1 P1 Q, j' |
        CComBSTR hint;
9 k7 W5 s/ H6 c: w        if (m_lToolbarID == 0)( i+ D0 V# i+ B: p
        {
  ]( l8 i- |/ S- o' e                title.LoadString(IDS_MY1_TOOLBAR_TITLE);
+ U: Z/ E: w& T+ H2 a                callback.LoadString(IDS_MY1_TOOLBAR_CALLBACK);( b5 F5 q3 R3 H( C
                update.LoadString(IDS_MY1_TOOLBAR_UPDATE);% n5 k, n- ]. u% b4 F
                tip.LoadString(IDS_MY1_TOOLBAR_TIP);
5 ?/ g$ R) U. b                hint.LoadString(IDS_MY1_TOOLBAR_HINT);
2 a- V6 n* W  K3 c$ U1 F
, h4 _/ d! h5 x                hres = m_iSldWorks->AddToolbar3(m_swCookie, title, IDR_TOOLBAR_SMALL, IDR_TOOLBAR_LARGE, -1,  u4 Y$ J$ k/ {# u. b  F
                                                                                swDocTemplateTypeNONE|swDocTemplateTypePART|swDocTemplateTypeASSEMBLY|swDocTemplateTypeDRAWING, &m_lToolbarID);' H7 Y  s! h, c" |

$ A4 B- o' X; z% z1 m$ m                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 0, callback, update, tip, hint, &ok);
! k1 f+ T6 f8 D& I* h                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 1, callback, update, tip, hint, &ok);- c7 X1 n4 s0 s( B7 _' ?
                m_iSldWorks->AddToolbarCommand2(m_swCookie, m_lToolbarID, 2, callback, update, tip, hint, &ok);6 O# G- l# T% u$ r; l+ n1 e
7 d0 K7 Y/ v& \8 \/ w: c3 @7 U7 R9 }9 {
        }8 A7 q' M0 s) C: ~
}
6 _5 S% I+ e! {8 N
4 _3 j1 K' Q4 U) Evoid Cswobj::RemoveToolbar()4 h" R6 V& Z: P4 f
{) \; _4 A! A( l$ E
        if (m_lToolbarID != 0). n: u! a6 I% h, _
        {
+ L% Q# D5 K5 [3 W- q% d  `! p                VARIANT_BOOL stat;/ C/ _. ~" T8 ?7 _! t

4 ^# y- H& r5 C3 I7 u: D                HRESULT hres = m_iSldWorks->RemoveToolbar2( m_swCookie, m_lToolbarID, &stat);
" \! ], ^: q$ o7 K& _  ~1 L. K                m_lToolbarID = 0;, l3 W, _' y/ L/ r. ]
        }. c+ r4 T1 m; H+ _$ j1 k
}
4 U) D! N) S9 h
1 J1 g0 u: e2 |2 y
3 Y  n, H7 g7 f+ ^6 |- `. U, Y9 p! _$ x: J/////////////////////////////////////////////////////////////////////////////
* ^: \/ ~6 i: w7 g; ~3 o4 K5 S// ISwAddin implementation( v- b1 a! ]5 R( {8 N, R" {

6 E  g. y9 W, m3 |$ w1 }) S4 ?" tSTDMETHODIMP Cswobj::ConnectToSW(IDispatch * ThisSW, LONG Cookie, VARIANT_BOOL * IsConnected)8 c3 o' J' t' n# \  }' x  l
{, V9 r$ {) m2 Q, w
        VARIANT_BOOL status;
. X% _; n3 a9 [7 K) k/ I$ c
$ [/ i. B) L% n; m: T: e        if (IsConnected == NULL)8 E8 S: I: F9 _6 I" _
                return E_POINTER;) A+ W0 Z  o! }9 s2 B
* w0 l# ~7 n. E
       
' j" g  ~  }; U* \2 V        m_swCookie = Cookie;3 Y; l1 N4 X8 M( X# q. q
        m_iSldWorks = CComQIPtr<ISldWorks, &__uuidof(ISldWorks)>(ThisSW);( {4 `1 R7 B) w; N) _
        if (m_iSldWorks != NULL)& t2 E' w4 l# K( {" h
        {        : W, X. a8 g- C  w
                m_iSldWorks->SetAddinCallbackInfo((long)_Module.GetModuleInstance(), static_cast<Iswobj*>(this), m_swCookie, &status);! I& ~, [. H+ w) M& |
                AddUserInterface();
3 s# t" D) w& Y6 H; l! @        }# W; T% T1 v, b6 A

/ Z: h$ k' I" a7 f/ M# ^, a6 x        return S_OK;5 _! T) l- `& X/ Y6 y2 u9 Q
}  V& x( m% q# e3 S4 v

' _/ U% J; s/ B6 v+ D' b; L& DSTDMETHODIMP Cswobj:isconnectFromSW(VARIANT_BOOL * IsDisconnected)
& D5 W/ v  ^+ P1 u{
7 [& B/ K8 w8 d) t5 y; G        if (IsDisconnected == NULL)
( t+ l# E' g- c) y% R# e1 w                return E_POINTER;
+ v8 s- J# Z+ b4 a
; r+ [, O$ v  ?: I# Q        if (m_iSldWorks != NULL)2 L' R) Q6 ?# S! v$ h
        {
( R2 V  B* b2 ]$ a                RemoveUserInterface();" }+ _6 ~( p7 c+ r
                m_iSldWorks.Release();
) W4 x% }9 c/ I& T" N        }" O8 x6 |7 E: m' [: z2 ^

4 Y5 V$ z# q' j2 F        return E_NOTIMPL;9 b  X) r) u5 G6 T7 K" q2 ?) J
}0 D$ o9 i+ g: n; D2 D3 d1 v- [' I# D5 h

+ h/ t/ D5 J2 z, h4 e$ E7 ?! k* a4 W9 I) c" {9 f: T% ]( i' b0 F
/////////////////////////////////////////////////////////////////////////////
2 n; S' m+ m& u9 Q// DSldWorksEvents implementation
3 e1 P' |! B! s  p6 u4 B! s& q8 w; [  u8 j

* s2 n2 E: Q! z& ]( c* x/////////////////////////////////////////////////////////////////////////////
% a8 O# @* e5 g' H  I9 B1 f+ z// Iswobj implementation
1 J* H% O4 t+ m7 M9 Y; h6 }, n3 M# n) C; F  d3 m
STDMETHODIMP Cswobj::StartNotepad()2 x& B) ^3 A8 ^! m8 U8 x
{9 J* N3 b: N2 j0 U
        // TODO: Add your implementation code here
3 u" g2 T' E  M; w5 M7 e, s) j        ::WinExec("Notepad.exe", SW_SHOW);! C$ Q5 ^; N( k
+ j8 u! B7 y: G3 l  f
        return S_OK;. q4 T- h' |* N9 {) N# Y
}' ]* W% C) u7 a0 p( x

% S# @* x9 _: xSTDMETHODIMP Cswobj::ToolbarUpdate(long *status)8 V2 Q6 R* q+ G( ?) f- V$ O9 {- W5 k, n
{
( y. a3 g: z3 [9 J; D        HRESULT retval = S_OK;
0 q7 J1 a% \7 Z
% e( [2 t! f- N( v        *status = 1;
3 g, N4 t( m/ Z/ e! q) H4 _3 L$ t  v$ K) }* }) g0 {
        return S_OK;4 |. g, z7 ?5 P2 U+ V
}$ U9 _( e8 a& L
7 X. z6 f& }/ S* |& [: }
STDMETHODIMP Cswobj::first()//新建文件
% E6 s8 _* j* C/ J% s; S" [+ n8 B{* m7 D  o0 o" v1 s0 [7 Q5 ~
        AFX_MANAGE_STATE(AfxGetStaticModuleState())$ p9 X1 R9 V6 b  q9 q; a
' N- u7 y( U* y# s: R! n% Q3 @
        // TODO: Add your implementation code here
! _" f7 R' j) c/ `  k3 Q" ^9 F( ?" C        HRESULT retval;* w2 I5 a" l2 y: J* w5 \. ?# G$ G
       
$ a' d1 A. J4 I1 [        CComPtr<IPartDoc>pPartDoc = NULL;
/ Q4 S2 K. ^1 x+ a- w9 {9 b        retval = m_iSldWorks->NewPart((IDispatch**)&pPartDoc);% m+ L1 j  I6 o9 d8 Z$ N; I1 _0 S
        if(pPartDoc == NULL)
+ h, _$ k% R: d- o* I( z+ P        {
4 M% f0 p8 l0 h8 ~' O" s                AfxMessageBox(_T("新建零件文件失败"));
3 V, x1 C: X6 C* c% `                return S_FALSE;" }9 W+ g/ ]" e3 {7 r' J
        }" H3 X2 Q* z* J" Z
        return S_OK;0 V7 g0 q1 G4 U8 P
}1 B  D7 F9 ~) K! E$ A# T) {

* B, W- o' i+ VSTDMETHODIMP Cswobj::second()//创建圆柱, c/ r3 Z. o, s
{4 p% `4 Y+ i: H2 k* r( ^
        AFX_MANAGE_STATE(AfxGetStaticModuleState())  Q/ d" N! t& p; M0 \0 n

4 P0 `3 h  q" K& ^        // TODO: Add your implementation code here
# S1 G& m& t: Z; t) }/ F: IVARIANT_BOOL bRetval = VARIANT_FALSE;
, J2 P. @! I2 u* Z1 \- r7 X0 C
9 |$ P0 a+ c) ?0 l' }        CComPtr<IModelDoc2> swDoc;//定义ModelDoc对象
! a7 V5 X, \6 _( n: L9 j        CComPtr<IModelDocExtension> swDocExt;//定义ModelDocExtension对象' D; l( |3 P9 ]& j& G$ k
        CComPtr<IFeatureManager> swFeatMgr;//定义FeatureManager对象% V: x- B1 r* P! U  Y4 F

- G0 o+ D- n- r5 L        m_iSldWorks->get_IActiveDoc2(&swDoc);///获得当前活动文档对象
2 _0 U$ [# B( a' u5 {  o' ?% I        swDoc->get_Extension(&swDocExt);///获得当前ModelDocExtension对象
( C$ u7 f+ j. c% e; D  D        swDoc->get_FeatureManager(&swFeatMgr);///获得当前特征管理器对象
5 D$ T2 ^- `7 t3 w% M8 e! M+ c
5 s4 I& r- q2 l        CComPtr<ISketch> swSketch;//定义Sketch对象
' I9 t" V) n  l) b4 J( Z2 [        swDoc->IGetActiveSketch2(&swSketch);///获得当前激活的草图对象* k- m8 ^( x+ ^1 B2 r4 v5 S
5 I9 ^& d  V4 Z, Q
        if (swSketch == NULL)///如果当前没有激活的草图对象
% e- r- r) O2 X" O& r% t9 W7 b        {3 k. c8 h4 M/ W: j
                swDocExt->SelectByID2(L"Front Plane", L"LANE", 0.0, 0.0, 0.0, VARIANT_FALSE, 0, NULL, swSelectOptionDefault, &bRetval);///选择前视基准面
# ^, C# i4 Y6 r9 S$ N' ~. w                swDoc->InsertSketch2(VARIANT_TRUE);///添加草图5 w4 `) O0 @& @$ \  \# S
        }7 H' S$ c  s# u% X. n" K6 o. u; @" J
! h. I& c8 V( v
        CComPtr<ISketchSegment> swSkSeg;//定义SketchSegment对象
& x# `0 d0 f3 D5 x: e9 K        swDoc->ICreateCircle2(0.0, 0.0, 0.0, 0.050, 0.0, 0.0, &swSkSeg);///新建一个圆
! O# H7 e' w3 y4 u# J        CComPtr<IFeature> swFeat;//定义Feature对象
$ W% ^* v: Y+ T- M! P2 ^2 ^& \5 u2 Z; N8 v0 U) {
        swFeatMgr->FeatureExtrusion2(VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,0, 0, 0.100, 0.100,///拉伸
5 y. ^/ b% P# L# ^' t' a
6 h1 d" Q+ R* r% g. P, J1 y        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, 0.0, 0.0,
: Y* z) ^3 @: p' J9 C, q6 l7 H# ?3 X& p
        VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_FALSE,* m6 @  {9 T% {/ C! |& J1 F4 Q4 Y
3 |4 ]8 t: t- b3 b, B+ z
        VARIANT_TRUE, VARIANT_FALSE, VARIANT_TRUE, 0, 0.0, VARIANT_FALSE, &swFeat);
+ \8 v3 D0 d! u8 g! h. T        return S_OK;
" Q4 p" K9 x! E}
. D! _% T& d3 O* h9 q. f6 b4 d7 h. ^/ ]! _6 W' w5 G) A" o
9 d+ T0 H6 X2 {: V  I9 f% @

本帖子中包含更多资源

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

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 * T8 W1 C2 T; y( M; t! l; o1 Z
还要学习高级编程语言,搞这么复杂,主要用在什么方面?

- K  |& {6 P8 X: H这个好搞零件库
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-11 17:53:28 | 显示全部楼层
余存 发表于 2016-1-11 11:35 2 r9 ^4 H1 v/ R, w$ |! g
弱弱的问一句,为啥要用二次开发画呢?这玩意不是能直接画出来吗?好像也不是特别难得样子啊。。。小白我完 ...
9 U- k. Z; M4 n( J- j7 l- n9 {
要弄零件库,和各种轮胎装配
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-11 17:54:03 | 显示全部楼层
Brian_Hou 发表于 2016-1-11 11:00
8 P: c/ }, U: K, L额,我做过VB的SolidWorks二次开发。C++的不会,跟你说一下VB下的SolidWorks二次开发大致思路吧,希望对你有 ...

& \; O1 j6 ~. M5 M8 I7 k0 a初学小弟感觉很难啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-30 15:44 , Processed in 0.066801 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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