NX UG二次開發 3D BOX選擇 內部類構造

2021-10-22 09:09:29 字數 4677 閱讀 7468

在做某些專案時,經常需要獲取某一物件的周圍的物件,比如獲取距離乙個實體最近的實體,如果簡單數模,遍歷當前檢視的實體逐一測量,獲取最小值即為所求。但對於複雜數模,比如汽車前艙數模,包含發動機,那麼這種方法就不適合了,速度會很慢。

但錄製操作的時候,發現並不能錄製,翻閱nxopen和ufun文件並未發現有相關使用的類。但在libugui.dll匯出函式中,發現有名字相近的類名,經過測試,完全可以實現這個功能,在blcok ui中即使存在選擇控制項,依然可以使用。

類名如下:class ugs::sel::boxselectbuilder,有興趣的可以試試。

類成員函式如下:

void ugs::sel::boxselectbuilder::askboxlength(double * const)

void ugs::sel::boxselectbuilder::askcenterposition(struct ugs::math::point3 *)

int ugs::sel::boxselectbuilder::askclientscope(void)

bool ugs::sel::boxselectbuilder::askhandlesposition(struct ugs::math::point3 * const,struct ugs::math::vector3 * const)

int ugs::sel::boxselectbuilderclassid

bool ugs::sel::boxselectbuilder::calculateboxsize(void)

bool ugs::sel::boxselectbuilder::calculateboxsizebyobject(unsigned int *,int)

void ugs::sel::boxselectbuilder::cleanuppkbodies(void)

bool ugs::sel::boxselectbuilder::createbox(void)

class ugs::om::object * ugs::sel::boxselectbuilder::createboxselectbuildercallback(void *,int,void *)

bool ugs::sel::boxselectbuilder::deletebox(void)

double const * ugs::sel::boxselectbuilder::getboxposition(void)

double ugs::sel::boxselectbuilder::getboxpositionelement(int)

struct ugui_selection_s * ugs::sel::boxselectbuilder::getclientcontext(void)

class ugs::sel::boxselectbuilder * ugs::sel::boxselectbuilder::getinstance(void)

double ugs::sel::boxselectbuilder::getoffsetnegativex(void)

double ugs::sel::boxselectbuilder::getoffsetnegativey(void)

double ugs::sel::boxselectbuilder::getoffsetnegativez(void)

double ugs::sel::boxselectbuilder::getoffsetpositivex(void)

double ugs::sel::boxselectbuilder::getoffsetpositivey(void)

double ugs::sel::boxselectbuilder::getoffsetpositivez(void)

class ugs::map> * ugs::sel::boxselectbuilder::getpkbodymap(void)

int ugs::sel::boxselectbuilder::getpktagoffacetbody(unsigned int)

int ugs::sel::boxselectbuilder::getselectionrule(void)

void ugs::sel::boxselectbuilder::initcreate(void)

bool ugs::sel::boxselectbuilder::isactive(void)

bool ugs::sel::boxselectbuilder::isboxselectcommitted(void)

bool ugs::sel::boxselectbuilder::isownedbybox(unsigned int)

void ugs::sel::boxselectbuilder::processboxselection(struct ugui_selection_s *,bool)

void ugs::sel::boxselectbuilder::processflipselection(struct ugui_selection_s *)

void ugs::sel::boxselectbuilder::setboxlength(double,double,double)

void ugs::sel::boxselectbuilder::setboxpositionelement(int,double)

void ugs::sel::boxselectbuilder::setclientcontext(struct ugui_selection_s *)

void ugs::sel::boxselectbuilder::setmanipulatortoboxdirectionandposition(struct ugs::math::matrix3 *,struct ugs::math::point3 *)

void ugs::sel::boxselectbuilder::setoffsetnegativex(double)

void ugs::sel::boxselectbuilder::setoffsetnegativey(double)

void ugs::sel::boxselectbuilder::setoffsetnegativez(double)

void ugs::sel::boxselectbuilder::setoffsetpositivex(double)

void ugs::sel::boxselectbuilder::setoffsetpositivey(double)

void ugs::sel::boxselectbuilder::setoffsetpositivez(double)

void ugs::sel::boxselectbuilder::setpkbodymap(class ugs::map> *)

void ugs::sel::boxselectbuilder::setselectedobjects(struct ugui_selection_s *)

void ugs::sel::boxselectbuilder::setselectionrule(int)

void ugs::sel::boxselectbuilder::showboxcenterlines(bool)

int & ugs::sel::boxselectbuilder::thisclassid

void ugs::sel::boxselectbuilder::cascade_destroy(void)

void ugs::sel::boxselectbuilder::destroy(void)

void ugs::sel::boxselectbuilder::implement_destroy(void)

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_boxpositionattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_clientcontextattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetnegativexattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetnegativeyattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetnegativezattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetpositivexattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetpositiveyattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_offsetpositivezattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_pkbodymapattid

class ugs::om::attributeid ugs::sel::boxselectbuilder::m_selectionruleattid

postek二次開發 POSTEK二次開發介面

例項簡介 例項截圖 核心 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using ...

mcms二次開發 YzmCMS二次開發手冊

摘要 yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有一.yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口...

mcms二次開發 YzmCMS二次開發手冊

yzmcms是採用mvc設計模式開發,基於模組和操作的方式進行訪問,採用單一入口模式進行專案部署和訪問,無論訪問任何乙個模組或者功能,只有乙個統一的入口。一 基本目錄結構.根目錄 cache 快取目錄 必須可寫入 common 全站公共目錄 必須可寫入 uploads 預設上傳目錄 必須可寫入 yz...