UG NX二次开发源码:创建孔加工程序
UG NX二次开发源码:创建孔加工程序
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#i ...
NX二次开发源码分享:查找体中最大的面积
NX二次开发源码分享:查找体中最大的面积
通过MeasureFaces 下的area方法可以得到面的面积进行遍历查询
UG NX二次开发源码分享:分享下关于读取文件行数的操作代码
UG NX二次开发源码分享:分享下关于读取文件行数的操作代码
以下是读文件的操作,每一行的结果存储下来!
#include
#include
#include
using namespace std;
const unsigned int MAX_LINES = 1024;
int main()
{
ifstream inFile;
string tmpStr("");
string *a = new string[MAX_LINES];
int index = ...
NX二次开发源码分享: 根据 datum plane 更新 datum 法相方向
NX二次开发源码分享: 根据 datum plane 更新 datum 法相方向
这里用到了 ufun函数,通过对象获取特征,然后通过特征进行更新
tag_t featureTag = NULL_TAG;
UF_MODL_ask_object_feat(DpX->Tag(),&featureTag);
NXOpen::Features:atumPlaneFeature *datumPlaneFeature1(dynamic_cast(NX ...
一个比较好用的函数,JT 文件转换成 Part文件
一个比较好用的函数,JT 文件转换成 Part文件
UF_PART_update_jt_brep (view source)
Defined in: uf_part.h
Overview
Given a part that originated from JT data, update it with the BREP data.
NOTE: it's an error if the input part tag does not come from a JT file.
Return
Return code:
0 = Succe ...
新人帖
ufun 获取文件夹下所有prt文件名
ufun 获取文件夹下所有prt文件名
NX二次开发源码:分享下公差标注类型符号
NX二次开发源码:分享下公差标注类型符号
[mw_shl_code=cpp,true]
NXString CheckFCFAssociates::getFCFSymbol(string symbolStr)
{
if (symbolStr == "")
{
return "straightness";
}
else if (symbolStr == "")
{
return "flatness";
}
else if (symbolStr == "")
{
return "circularity";
}
else ...
NX二次开发源码分享: 加载所有的装配组件----全部加载
[mw_shl_code=csharp,true]Imports System
Imports NXOpen
Imports NXOpen.UF
Imports NXOpen.Utilities
'
' The OpenComponents() parameter
' NXOpen.Assemblies.ComponentAssembly.OpenOption.WholeAssembly
' only opens unloaded components fully (see also PR-8406345)
' Workaround: collect and open all componen ...
循环变量所有的装配组件---查找装配组件必用
循环变量所有的装配组件---查找装配组件必用
[mw_shl_code=csharp,true] public static List reportComponentChildren(Component comp, List componentName)
{
Component[] children;
string cp_name;
children = comp.GetChildren();
for (int ii = 0; ii < children.Length; ii+ ...
NX二次开发源码分享:测量两个对象之间最短距离
NX二次开发源码分享:测量两个对象之间最短距离
[mw_shl_code=csharp,true] Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim object1 As DisplayableObject = SelectAnObject("First Object")
Dim object2 As DisplayableObject = SelectA ...
NX二次开发源码分享:从当前视图创建CSYS
NX二次开发源码分享:从当前视图创建CSYS
比较有用哦,尤其在 PMI 视图选取的时候,自己想想!
[mw_shl_code=csharp,true] double[] center = new double[3] { 0.0, 0.0, 0.0 };
Tag viewTag = Tag.Null;
theUfSession.View.AskWorkView(out viewTag);
if (viewTag == Tag.Null) ...
NX二次开发源码分享:显示面的法相方向
经常能用的到,通过选择面,显示临时法线方向和点!
[mw_shl_code=cpp,true] static bool DisplayNormal(Face theFace)
{
double[] param = new double[2];
double[] p1 = new double[3];
double[] u1 = new double[3];
double[] v1 = new double[3];
double[] u2 = new ...
NX二次开发源码分享: 创建精确外轮廓
NX二次开发源码分享: 创建精确外轮廓
UF_CURVE_create_shadow_outline (view source)
Defined in: uf_curve.h
Overview
Create shadow outline for a given array of solids. Solids passed to this
routine must be on a selectable layer and visible. If created shadow curves
can not form loops, please us ...
AllocConsole() NX二次开发使用控制台输出过程
转载,实际上使用 startup 入口函数也可以实现,这里参考下吧!
在UG安装目录UGOPEN文件夹下,有不少范例代码,这些代码大部分使用内部模式,而dll执行过程中是没有控制台的,那么应该如何做呢?
我们可以调用Windows API函数来自己申请一个控制台(就像DOS窗口一样),然后重定向输入输出,就可以用printf函数向控制 ...
UF_UI_create_usertool函数可以加载指定用户工具
转载`!!!!
在uf_ui.h头文件下的UF_UI_create_usertool函数可以加载指定用户工具。当前未发现有哪一个API函数支持运行宏,但可以通过加载用户工具(.utd文件),再由用户工具面板点击执行对应的宏命令。
例示代码如下:
/*****************************************************************************
ufd_ui_create_us ...
NX二次开发源码分享:判断当前工作部件是否为CAE的类型
NX二次开发源码分享:判断当前工作部件是否为CAE的类型
一个很好的方法是通过typeid去判断对应的类,直接方便。
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型
[mw_shl_code=cpp,true]void MyClass::do_it()
{
BasePart* wp = theSession->Parts()->BaseWork();
if (typeid(*wp) ...
NX二次开发--一个好用的树列表调换次序功能-很赞
NX二次开发--一个好用的树列表调换次序功能-很赞
花了点儿力气,可以实现常见的顺序调整,重点是可以多选!!
效果如下:
NX二次开发源码分享: 使用NXOpen获取对象最小距离
NX二次开发源码分享: 使用NXOpen获取对象最小距离
[mw_shl_code=csharp,true]
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim object1 As DisplayableObject = SelectAnObject("First Object")
Dim object2 As DisplayableObject = S ...
NX二次开发源码分享:判断当前零件是什么CAE类型
点击查看主题详情与完整讨论内容。
NX二次开发准备做个加工工单,希望大家能提供一个好的模版
准备做个加工工单,希望大家能提供一个好的模版
最好说明下,模版里面需要的参数,做出来加入PLM之家NX插件,大家可以使用。
怎么查询刀路是变换刀路
我需要判断变换刀路,有没有那个大侠知道用那个函数。。。谢谢!
BlockStyler 重置
请问大家对话框上面那个重置按钮在NxOpen 哪个函数控制。。。
NX二次开发源码分享: 从文件Preview图片中创建图片方法
点击查看主题详情与完整讨论内容。
NX二次开发源码分享: 判断程序是外部运行方式还是内部?
NX二次开发源码分享: 判断程序是外部运行方式还是内部?
[mw_shl_code=csharp,true]Imports NXOpen
Module NXJournal
Dim theSession As Session = Session.GetSession()
Sub Main
If theSession.IsBatch
Echo("This is being run in Command Line (Batch) Mode NX")
Else
Ec ...
加工一些属性怎么获取
请问各位大侠 NXOpen::CAM::CAMObject 下 GetRealValue (const char *title) 函数怎么用。还有刀具路径Z向最大值通过什么方式得到。谢谢
NX二次开发源码分享: ufun 获取文件夹下所有prt文件名
点击查看主题详情与完整讨论内容。
NX二次开发源码分享: NXOpen C++获取面的面积和周长
NX二次开发源码分享: NXOpen C++获取面的面积和周长
[mw_shl_code=cpp,true]double MyClass::MeasureFaceArea(TaggedObject* face_tag)
{
char str[256];
Unit *unit1(dynamic_cast(workPart->UnitCollection()->FindObject("SquareMilliMeter")));
Unit *unit2(dynamic_cast(workPart->UnitC ...
NX二次开发源码分享: 创建一个临时的文件名
点击查看主题详情与完整讨论内容。
NX二次开发源码分享:获取所有的图纸和视图
点击查看主题详情与完整讨论内容。
NX二次开发源码分享: 打开或者关闭不见导航器
NX二次开发源码分享: 打开或者关闭不见导航器
static void do_it(void)
{
Session *theSession = Session::GetSession();
theSession->ExitPartNavigator(); //To Open use theSession->OpenPartNavigator();
}
NX二次开发源码分享: 快速获取显示部件下所有的视图
NX二次开发源码分享: 快速获取显示部件下所有的视图
比较快的方法吧,直接找属性VWLETTER
For Each dwg As Drawings.DrawingSheet In theSession.Parts.Display.DrawingSheets
Echo("Drawing: " & dwg.Name.ToString)
For Each draftingView As Drawings.DraftingView In dwg.GetDraf ...
NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
NX二次开发源码分享: 如何判断当前零件的类型,很聪明...
大体思路如下!!
enum PartTypes {Empty=0, Model=1, Drawing=2, MasterDrawing=3, Assembly=4, Undefined=5, MasterModelDrawing=6, Invalid=7};
void DoIt(string[] args)
{
Part displayPart = theSession.Parts.Display;
i ...
NX二次开放源码分享: 获取装配下所有的实体
NX二次开放源码分享: 获取装配下所有的实体
public class report_all_bodies_in_assembly_level
{
public static void Main(string[] args)
{
Session theSession = Session.GetSession();
UFSession theUFSession = UFSession.GetUFSession();
ListingWindow theLW = theSession.ListingWindow;
...
NX二次开发源码分享: 选择相切面的方法
NX二次开发源码分享: 选择相切面的方法
static Face[] AskTangentFaces(Face baseFace)
{
FaceTangentRule faceTangent =
workPart.ScRuleFactory.CreateRuleFaceTangent(baseFace, new Face[] { });
ScCollector scCollector1 = workPart.ScCollectors.CreateCollector();
s ...
【NX二次开发源码分享】Specify Circle 指定一个圆选择屏幕点
【NX二次开发源码分享】Specify Circle 指定一个圆选择屏幕点
[mw_shl_code=c,true]static void map_arc_center_from_abs(UF_CURVE_arc_t *adata)
{
int
irc;
double
abs_mx[9] = { 0,0,0, 1,0,0, 0,1,0 },
csys[12] = { 0,0,0,0,0,0,0,0,0,0,0,0},
mx[12];
UF_CALL(UF_CS ...
使用C# 进行二次开发 调用 WPF 界面使用教程
使用C# 进行二次开发 调用 WPF 界面使用教程
用WPF对话框创建一个NX Open应用程序
以下是如何创建NX Open C#应用程序并向其添加非常简单的Windows Presentation Foundation(WPF)对话框的示例。
首先启动Visual Studio。在这种情况下,Visual Studio 2015,因为该应用程序是为NX 12构建的。创建一个新项目,选择“NX12 ...
元素是否在vector中,对vector去重,两个vector求交集、并集
C++虽然对vector封装了大量的函数,比如判断元素是否在vector中find、去重的unique,还有在algorithm类中对两个vector求交集、并集的函数,但是,这些函数是不可以直接vector.XX来使用的,如同在《【C++】容器类》中提到过如何删除vector的其中元素一样,需要搭上迭代器iterator对其进行遍历才能完成这个动作。这是不同于 ...
NX11 二次开发模板报错,无法识别的标志“-scalableinclude-
NX11 二次开发模板报错,无法识别的标志“-scalableinclude-
NX11 支持 vs2012 的IDE 平台,2013 我没有试验,2012 报这个错误
c1xx : fatal error C1007: 无法识别的标志“-scalableinclude-”(在“c1xx”中)
解决方法如下:
打开 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\VCWizards\NX11_NXOpenCPP ...
NX二次开发源码分享: 报告所有的PMI显示的视图对象
NX二次开发源码分享: 报告所有的PMI显示的视图对象
extern "C" DllExport void ufusr(char *param, int *retcod, int param_len)
{
Session *theSession = Session::GetSession();
UI *ui = UI::GetUI();
Selection *sm = ui->SelectionManager();
std::vector mask(1);
mask[0] = Selection::Mask ...
NX二次开发源码分享: 如何获取装配导航器上PMI的节点名称
NX二次开发源码分享: 如何获取装配导航器上PMI的节点名称
NX 目前没有想过方法,需要借助 KF 函数
// There is no direct way to get the name that is shown for the PMI object
// in the Part Navigator. See ER 7961161.
// This method uses a Check-Mate function then parses the output to format i ...