nx

NX二次开发之签名

落爺英雄遲暮 提交于 2019-12-25 03:45:12
在用户化的应用程序进行发布前,NX要求对其进行签名操作,如果没有进行签名,只能在具备创建者身份才能运行程序。 签名有两个步骤,首先,需要将一个资料文件添加到用户化的程序工程中,该资料文件在进行编译时,会添加适当的信息到可执行程序。 其次是运行签名工具,签名工具将添加一个加密的字符串到可执行程序,以通过NX在启动时进行的检测和验证。 使用C++开发NXOPEN应用程序的签名方法 C++格式的资源文件及签名工具可以在NX安装路径下的UGOPEN子文件夹下找到。 资料文件 :NXSigningResource.cpp 签名工具 :nxsign 将NXSigningResource.cpp包含在当前工程中,进行编译链接。然后再命令执行签名工具,格式是 nxsign myApplication.exe 在签名完成后可以使用-verfy选项验证是否签名成功,如nxsign-verify myApplication.exe 签名工具验证的文件扩展名可以是dll、so、sl和exe。 来源: CSDN 作者: TIRE# 链接: https://blog.csdn.net/weixin_43955053/article/details/103683831

NX二次开发之用户自定义对象UDO

假如想象 提交于 2019-12-25 03:01:40
用户自定义对象可以包含以下用户化的数据: UDO名称 ,这是用户化类的唯一识别性的标志。 自由格式的数据,包括整数、实数、字符串等 带量纲的数据,包括长度、面积、体积 NX对象的连接,共有5种不同的连接方式 用户自定义对象还包括以下特性,这些需要在用户自定义对象的回调函数中加以定义。 显示特征–在屏幕上绘制出UDO的图像,如点。直线段。圆弧等。如果不定义该显示回调函数,用户自定义对象将是不可见的。 附着点,如在使用information—Object命令后,需要在特定位置显示对象的某些信息,附着点就是定义了这些信息的显示位置。通常建议附着点与显示原点一致。 显示全部—定义了用户自定义对象的边界,当使用View–Operation—Fit命令将视图调整为显示全部时,NX会计算每个零件边界。 选择特性 更新特性 删除特性 编辑特性 显示信息特性 来源: CSDN 作者: TIRE# 链接: https://blog.csdn.net/weixin_43955053/article/details/103689915

linux 自启动设置 的shell脚本

浪尽此生 提交于 2019-12-20 11:39:35
//通过shell创建一个连接到Test.sh 的自启动 #!/bin/bash echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Test\nType=Application\nExec=Test.sh --autostart\nOnlyShowIn=MATE\nX-MATE-Autostart-Phase=Application\nTerminal=false\nCondition=MATE\nX-MATE-Autostart-Notify=true\n ">/etc/xdg/autostart/Test.desktop chmod 666 /etc/xdg/autostart/Test.desktop nExec=Test.sh 这里是入口文件可以放在/usr/bin 或者设置绝对路径 运行脚本后你的脚本就会在登录系统后自动后台运行了。 来源: CSDN 作者: Xuehqqqq 链接: https://blog.csdn.net/qq_35266849/article/details/103627823

向量

人盡茶涼 提交于 2019-12-16 09:37:55
题目描述 给定一棵 $n$ 个节点的树,点的标号为 $1 \dots n$ ,边有边权。 记 $d(u, v)$ 为 $u$ 到 $v$ 的路径上边的权值和,对于每个节点 $u$ ,你需要给出一个 $m$ 维向量 $p_u = \{p_{u,1}, \dots, p_{u,m}\}$ ,使得对于任意点对 $u,v$ ,满足 $d(u, v) = max\{|p_{u,i} − p_{v,i}|\}$ 。 数据范围 $2 \le n \le 1000$ ; $1 \le w_i \le 10^5$ ; $m \le 16$ 题解 怎么想到点分的不知道。 考虑一个点分中心 $root$ ,把子树尽量按 $size$ 均分成两部分,然后使用一维向量,将 $A$ 集合的值设为 $deep$ , $B$ 集合设为 $-deep$ , $root$ 设为 $0$ ,然后将 $root$ 分别加入两边集合继续递归下去得到两个不同的向量,然后将其中一个向量平移成另一个向量即可,要把向量上所属集合也要平移。 代码 #include <bits/stdc++.h> using namespace std; const int N=1005,M=N<<1; int n,hd[N],V[M],nx[M],W[M],t,S[N],sz[N],rt; int o,vis[N],b[N],son[N],f[N]

Numba学习日记 —— 2019-12-5

假如想象 提交于 2019-12-07 15:33:26
Numba学习日记 —— 2019-12-5 Python的不足: Python的最大优势也可能是它最大的弱点:它的 灵活性 和 无类型 的高级语法可能导致数据和计算密集型程序的性能不佳。—— 动态类型化解释语言 什么是 numba : Numba,一个来自 Anaconda的Python编译器 ,可以编译Python代码,以便在支持CUDA的GPU或多核CPU上执行。由于Python通常不是编译语言,您可能想知道为什么要使用Python编译器。答案当然是运行本机编译代码比运行动态解释代码快许多倍。 Numba允许您为Python函数指定类型签名,它可以在运行时进行编译(这是 “即时”或JIT编译 )。 Numba动态编译代码的能力意味着您不会放弃Python的灵活性。这是向高效率编程和高性能计算提供理想组合的重要一步。 使用Numba,现在可以 编写标准的Python函数并在支持CUDA的GPU上运行它们 。 Numba专为面向阵列的计算任务而设计,就像广泛使用的NumPy库一样。面向阵列的计算任务中的数据并行性非常适合GPU等加速器。 Numba了解NumPy数组类型,并使用它们生成有效的编译代码,以便在GPU或多核CPU上执行。 所需的编程工作可以像添加函数装饰器一样简单 ,以指示Numba为GPU编译。例如,以下代码中的

NX二次开发-UFUN修剪体UF_MODL_trim_body

橙三吉。 提交于 2019-12-06 15:09:09
1 NX11+VS2013 2 3 4 #include <uf.h> 5 #include <uf_modl.h> 6 7 8 UF_initialize(); 9 10 //创建块 11 UF_FEATURE_SIGN Sign = UF_NULLSIGN;//设置布尔 12 double Corner_pt[3] = { 0.0, 0.0, 0.0 };//设置原点 13 char *Edge_Len[3] = { "100", "100", "100" };//设置长宽高 14 tag_t BlkTag = NULL_TAG; 15 UF_MODL_create_block1(Sign, Corner_pt, Edge_Len, &BlkTag); 16 17 //特征找体 18 tag_t BodyTag = NULL_TAG; 19 UF_MODL_ask_feat_body(BlkTag, &BodyTag); 20 21 //创建固定的基准平面 22 double Origin_Point[3] = { 0, 0, 0 }; 23 double Plane_Normal[3] = { 0, 1, 0 }; 24 tag_t Plane_Tag = NULL_TAG; 25 UF_MODL_create_fixed_dplane(Origin_Point, Plane

NX二次开发-自定义添加右键菜单RegisterConfigureContextMenuCallback

空扰寡人 提交于 2019-12-05 11:45:24
首先声明这个知识我以前不知道,是夏天的时候看到别人在唐工的QQ群里问的,唐工说西门子官方有这个例子。那个时候我因为在忙其他事情,也就没去研究那个右键菜单到底是怎么做的。关于自定义添加右键菜单RegisterConfigureContextMenuCallback相关内容,可以去UGOPEN里研究ConfigureContextMenu这个例子。 结合NXOPEN帮助对照函数一步步去理解,是怎么使用的。 在线帮助地址 https://docs.plm.automation.siemens.com/data_services/resources/nx/11/nx_api/custom/en_US/open_c++_ref/a12985.html 都在MenuBar命名空间里,用的下面几个类里的方法 1 //NX11_NXOpenCPP_Wizard1 2 3 // Mandatory UF Includes 4 #include <uf.h> 5 #include <uf_object_types.h> 6 7 // Internal Includes 8 #include <NXOpen/ListingWindow.hxx> 9 #include <NXOpen/NXMessageBox.hxx> 10 #include <NXOpen/UI.hxx> 11 12 //

NX二次开发-BlockUI的Tree树控件

筅森魡賤 提交于 2019-12-05 09:50:59
关于BlockUI的Tree树控件只要研究UGOPEN里西门子官方的那个例子在结合去查NXOPEN的帮助基本就可以了。[不过我是看唐工的视频学会的,没办法自己领悟性不太强] 1 //============================================================================= 2 // 3 // Copyright (c) 2009 Siemens PLM Solutions 4 // Unpublished - All rights reserved 5 //=============================================================================== 6 //File description: Sample NX/Open Application for Block Styler 7 //=============================================================================== 8 // 9 10 // WARNING!! This file is overwritten by the Block Styler while generating 11 // the automation

NX二次开发-将工程图上的每个视图导出PNG图片

吃可爱长大的小学妹 提交于 2019-12-05 09:48:57
大概思路是将每个视图导出PDF,在调另一个项目的EXE(PDF转PNG) 1 //ExportDrawViewPng 2 3 // Mandatory UF Includes 4 #include <uf.h> 5 #include <uf_object_types.h> 6 7 // Internal Includes 8 #include <NXOpen/ListingWindow.hxx> 9 #include <NXOpen/NXMessageBox.hxx> 10 #include <NXOpen/UI.hxx> 11 12 // Internal+External Includes 13 #include <NXOpen/Annotations.hxx> 14 #include <NXOpen/Assemblies_Component.hxx> 15 #include <NXOpen/Assemblies_ComponentAssembly.hxx> 16 #include <NXOpen/Body.hxx> 17 #include <NXOpen/BodyCollection.hxx> 18 #include <NXOpen/Face.hxx> 19 #include <NXOpen/Line.hxx> 20 #include <NXOpen/NXException

NX二次开发-NXOPEN获取所有工程图和所有视图DrawingSheet,DrawingSheetCollection,DraftingView

狂风中的少年 提交于 2019-12-04 17:54:58
1 NX11+VS2013 2 3 #include <NXOpen/Part.hxx> 4 #include <NXOpen/PartCollection.hxx> 5 #include <NXOpen/Session.hxx> 6 #include <NXOpen/ListingWindow.hxx> 7 #include <NXOpen/NXMessageBox.hxx> 8 #include <NXOpen/Drawings_DrawingSheet.hxx> 9 #include <NXOpen/Drawings_DrawingSheetBuilder.hxx> 10 #include <NXOpen/Drawings_DrawingSheetCollection.hxx> 11 #include <NXOpen/Drawings_DrawingView.hxx> 12 #include <NXOpen/Drawings_DrawingViewBuilder.hxx> 13 #include <NXOpen/NXString.hxx> 14 15 16 Session *theSession = NXOpen::Session::GetSession(); 17 Part *workPart(theSession->Parts()->Work()); 18 19 /