asmxmlctrl.h

来自「VC+XML+UG OPEN API做的自动装配」· C头文件 代码 · 共 67 行

H
67
字号
#if !defined(AFX_ASMXMLCTRL_H__572139D4_227D_4C1C_AA6A_6718974F5F5C__INCLUDED_)
#define AFX_ASMXMLCTRL_H__572139D4_227D_4C1C_AA6A_6718974F5F5C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AsmXMLCtrl.h : header file
//

#include "XMLFile.h"
#include <string>

#include <uf_defs.h>
using std::string;

extern std::vector<tag_t> occ_arry;
extern std::vector<CString> name_arry;

/////////////////////////////////////////////////////////////////////////////

class CAsmXMLCtrl
{
// Construction
public:
	CAsmXMLCtrl();


// Attributes
public:
	MSXML2::IXMLDOMNodePtr RootNode;	//XML File根节点,在CAsmXMLCtrl::Load()中初始化
	int num_of_part;	//全局数组中零件个数
// Operations
public:
	bool Load(const char* filename, const char* tree_name="TreeName", bool bImage=false);
											//载入XML文件,新建装配文件,然后调用 GetAllAssems()
	void SaveToArry(tag_t part);			//把零件名,对应的Occ保存到全局数组
	void MakeAssembly(MSXML2::IXMLDOMNodePtr& pNode);
											//加载装配约束
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAsmXMLCtrl)
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CAsmXMLCtrl();


protected:
	string str_msg;
	void GetAllAssems(MSXML2::IXMLDOMNodePtr& pNode,tag_t part);  //zhang add 200511
										//从XML中载入所有组件节点(仅装配树,不包含约束关系)
	tag_t GetOccByName(const char * occ_name);
										//从全局数组里搜索part name,获得对应的Occ
	tag_t GetPrtoByName(char * feature_name);
										//获得特征名称对应的Proto
	tag_t GetInstByName(const char * prt_name);
										//从全局数组里搜索part name,获得对应的Inst
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ASMXMLCTRL_H__572139D4_227D_4C1C_AA6A_6718974F5F5C__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?