nx

NX二次开发-UFUN获取按钮的ID UF_MB_ask_button_id

只谈情不闲聊 提交于 2020-02-16 21:53:44
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON LSYTOOLS LABEL 自定义工具箱 BITMAP cam_new_tool ACTIONS LSYTOOLS 2.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\profiles\All\rbn_application.rtb 找到建模,在前面加上一段 1 BUTTON LSYTOOLS 在D:\Program Files\Siemens\NX 9.0里新建一个文件夹LSYTOOLS 在LSYTOOLS创建两个文件夹Application和Startup 在Startup里创建菜单文件LSYTOOLS.men 写入内容如下 1 VERSION 120 2 EDIT UG_GATEWAY_MAIN_MENUBAR 3 4 AFTER UG_HELP 5 CASCADE_BUTTON LSYTools 6 LABEL 自定义工具箱 7 END_OF_AFTER 8 9 MENU LSYTools 10 11 BUTTON LSYDrawTools 12 LABEL 图纸工具 13 BITMAP border_zones 14

NX二次开发-Block UI C++界面Select Object(选择对象)控件的获取(持续补充)

我与影子孤独终老i 提交于 2020-02-14 00:46:55
1 //选择对象控件设置过滤 2 Selection::SelectionAction action = Selection::SelectionActionClearAndEnableSpecific; 3 std::vector<Selection::MaskTriple> maskArray(1); 4 maskArray[0] = Selection::MaskTriple(UF_solid_type, UF_solid_body_subtype, UF_UI_SEL_FEATURE_SOLID_BODY); // Bodies 5 selection0->GetProperties()->SetSelectionFilter("SelectionFilter", action, maskArray); 6 /* 7 maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_FACE); // Faces 8 maskArray[0] = Selection::MaskTriple( UF_solid_type, UF_all_subtype, UF_UI_SEL_FEATURE_ANY_EDGE); // Edges 9 maskArray[0] =

NX二次开发-UFUN创建管道UF_MODL_create_tube

被刻印的时光 ゝ 提交于 2020-02-13 01:00:52
1 NX11+VS2013 2 3 #include <uf.h> 4 #include <uf_curve.h> 5 #include <uf_modl.h> 6 #include <uf_obj.h> 7 8 9 UF_initialize(); 10 11 //UFUN创建直线 12 UF_CURVE_line_t Line_coords; 13 Line_coords.start_point[0] = 0.0; 14 Line_coords.start_point[1] = 0.0; 15 Line_coords.start_point[2] = 0.0; 16 Line_coords.end_point[0] = 100.0; 17 Line_coords.end_point[1] = 100.0; 18 Line_coords.end_point[2] = 100.0; 19 tag_t Line = NULL_TAG; 20 UF_CURVE_create_line(&Line_coords, &Line); 21 22 //创建链表 23 uf_list_p_t List; 24 UF_MODL_create_list(&List); 25 26 //将直线tag添加到链表 27 UF_MODL_put_list_item(List, Line); 28 29 /

从Matlab的for循环说开……

你。 提交于 2020-02-02 19:56:05
  因为学习和工作的原因,最近又开始使用已经许久没有接触的Matlab。在没有什么特殊考虑的情况下,信手写下了下面的m代码片段: 1 for i = 1 : 1 :(imgHeight - tmpHeight + 1 ) 2 for j = 1 : 1 :(imgWidth - tmpWidth + 1 ) 3 temp = 0 ; 4 for m = 1 : 1 :tmpHeight 5 for n = 1 : 1 :tmpWidth 6 temp = temp + img(i + m - 1 ,j + n - 1 ) * template(m,n); 7 end 8 end 9 if temp > 0 10 tmpRst(i + floor(tmpHeight / 2 ),j + floor(tmpWidth / 2 )) = temp; 11 end ; 12 end 13 end      外层循环的2个变量长度为300和400,内层的两个为9。出乎我的意料的是,这样一段代码在我的机器上(T5750@2GHz, 2GB DDRII667)竟然要跑1分多钟,而这段代码转换为C++后是准备要在一个实时图像识别系统上跑的。换言之,时间至少必须下降到1/25以内!虽然可以指望C++的效率,但Matlab这样的速度也太离谱了!况且我在Matlab中还要不断的实验,跑一遍就要1、2分钟

咸鱼的ACM之路:DFS做题记录

一曲冷凌霜 提交于 2020-02-02 19:30:19
DFS的核心就是从一种状态出发,转向任意的一个可行状态,直到达到结束条件为止。 洛谷 P1596 [USACO10OCT] 湖计数Lake Counting DFS入门题,求连通块的。 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int dx[8]={-1,-1,-1, 0, 0, 1,1,1};//方向 5 int dy[8]={-1, 0, 1,-1, 1,-1,0,1}; 6 char mapp[110][110];//地图 7 int n,m; 8 9 void dfs (int x,int y) 10 { 11 int nx,ny; 12 mapp[x][y]='.';//每进入一个状态就把这个点去掉,避免重复进入DFS 13 for (int i=0;i<8;i++) 14 { 15 nx=x+dx[i]; 16 ny=y+dy[i]; 17 if (nx<0||nx>=n||ny<0||ny>=m) 18 continue; 19 if (mapp[nx][ny]=='W')//如果‘.’也能走的话,那整块图都可以走了... 20 dfs(nx,ny);//进入到下一个状态 21 } 22 return ; 23 } 24 25 int main() 26 { 27 scanf

LCP 4. 覆盖

前提是你 提交于 2020-02-02 11:06:22
题目链接 题解: 我们可以对棋盘进行黑白染色,使得任意相邻的两个格子颜色不相同,然后进行二分图最大匹配。 Code: 1 class Solution { 2 public: 3 int N; 4 int M; 5 6 vector<vector<int>> dir{{1,0},{0,1},{-1,0},{0,-1}}; 7 8 int domino(int n, int m, vector<vector<int>>& broken) { 9 N=n; 10 M=m; 11 vector<vector<int>> grid(N*M,vector<int>(N*M,0)); 12 vector<int> bro(N*M,0); 13 for(auto b:broken){ 14 bro[b[0]*M+b[1]]=1; 15 } 16 for(int i=0;i<N*M;++i){ 17 if(bro[i]) continue; 18 int x=i/M; 19 int y=i%M; 20 if((x+y)%2!=0) continue; 21 for(int d=0;d<4;++d){ 22 int nx=x+dir[d][0]; 23 int ny=y+dir[d][1]; 24 if(nx<0 || nx>=N || ny<0 || ny>=M || bro[nx*M+ny])

poj 3080 hdu 1238 暴力KMP解决

女生的网名这么多〃 提交于 2020-02-01 11:07:18
poj 3080 hdu 1238 暴力KMP解决 poj 3080 ,<—原题链接 hdu 1238 ,<—原题链接 题意 poj 3080 是说给你 n 个字符串,找出他们共有的最长字符串,但是如果找到的字符串长度小于 3 ,也算失败,并输出相应的语句,否者查找成功,输出找到的字符串。 hdu 1238 和上边的差不多,不同的是,找到的这个字符串 R 有可能不是这个 n 个字符串中某个字符串 T 的子串,但是如果 R 的逆串 R' 是 T 的子串的话,也算成功。 解题思路 这个题好像没看到什么更有效的方法,暴力枚举,数据量也比较小。 对于这两个题,我们的做法都是直接按照第一个字符串枚举所有的子串,然后看看剩下的字符串是不是都含有这个字符串,就这么简单,就这么直接,勇敢枚举吧少年。 代码实现 这两个代码真的是极其相似 //poj 3080 #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<stack> #include<queue> #include<map> using namespace std; const int MAXN=12; const int MAX_LEN=67; string

floodfill问题——岛屿的最大面积

南楼画角 提交于 2020-01-26 03:51:12
文章目录 floodfill问题——岛屿的最大面积 问题描述 思路 代码 扩展 floodfill问题——岛屿的最大面积 问题描述 题目来自Leetcode695题 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。) 示例 1: [[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,1,1,0,1,0,0,0,0,0,0,0,0], [0,1,0,0,1,1,0,0,1,0,1,0,0], [0,1,0,0,1,1,0,0,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,0,0,0,0,0,0,1,1,0,0,0,0]] 对于上面这个给定矩阵应返回 6。注意答案不应该是11,因为岛屿只能包含水平或垂直的四个方向的‘1’。 示例 2: [[0,0,0,0,0,0,0,0]] 对于上面这个给定的矩阵, 返回 0。 注意: 给定的矩阵grid 的长度和宽度都不超过 50。 思路 对于这类问题,都是基于以下思路,遍历二维数组

play [XCTF-PWN][高手进阶区]CTF writeup攻防世界题解系列26(超详细分析)

廉价感情. 提交于 2020-01-25 09:12:00
题目地址: play 本题是高手进阶区的第15题,比较有意思! 先看看题目: 后面的题目都是十颗星的难度,需要具备比较好的漏洞挖掘能力,在这些题目中我们能学到各种各样的新的姿势。 惯例先看看保护机制: [*] '/ctf/work/python/play/a642a99a83fe4e31b1bd75959e52e6a1' Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) 这个代码的理解需要仔细分析,我这边已经把这个程序涉及到的数据结构给大家写出来了: struct Hero { DWORD dwSlave; //*(_DWORD *)gHero) DWORD h2; // DWORD dwSurplus; //*((_DWORD *)gHero + 2)) 血量 剩余额 DWORD dwRecoveryHP; // recovery_hp char* szHeroName; hero_kill_type* pHeroKillType; //*((_DWORD *)gHero + 20) }; struct hero_kill_type { DWORD dwAttachNum; DWORD dwDefenseNum; char*