首页 > TAG信息列表 > uf

获取边类型错误

   //使用UF_MODL_ask_edge_type判断是否是圆弧,返回false UF_MODL_ask_edge_type(tagCurve2, &iType2); if(iType1 == UF_MODL_CIRCULAR_EDGE)//false 使用获取圆心UF_CURVE_ask_arc_data,可以正确获取圆心   UF_EVAL_is_arc

【NX二次开发】ufun分割体

分割体 int doWork() { //创建block UF_FEATURE_SIGN sign = UF_NULLSIGN; double douPt[3] = { 0.0, 0.0, 0.0 }; char *Edge_Len[3] = { "99", "98", "97.1256" }; tag_t tagBlock = NULL_TAG; UF_MODL_create_block1(si

截图

    #include "me.hpp" void getBmp(double pos1[3], double pos2[3]); extern DllExport void ufusr(char *param, int *returnCode, int rlen) { UF_initialize(); double douP1[3] = { 500,0,0 }; double douP2[3] = { 0,500,0 }; getBmp(do

【NX二次开发】获取体的面

获取体的面 int getBodyFaces(tag_t tagBody, int iType, vector<tag_t> *vecFaces) { uf_list_p_t list1 = NULL; UF_MODL_create_list(&list1); double douFaceBox[6]; double douOFaceRadius; double douFaceRadData; int iFaceNormDir;

【NX二次开发】判断圆柱面是不是孔的方法

分享一种判断圆柱面是不是孔的方法。 如下图所示体上有三个圆柱面,2个孔和1个R角面。可以通过面的边的组数(loop)判断圆柱面是不是孔。孔的loop至少有2个。 代码: //获取面上loop的数量 int getFaceLooscount(tag_t tagFace) { uf_loop_t *loop_list = NULL; UF_MODL_ask_fa

CSAPP 之 DataLab 详解

前言 本篇博客将会剖析 CSAPP - DataLab 各个习题的解题过程,加深对 int、unsigned、float 这几种数据类型的计算机表示方式的理解。 DataLab 中包含下表所示的 12 个习题,其中 9 个和整数有关,3个和单精度浮点数有关。 函数名 功能描述 分数 操作符 bitXor(x, y) 使用 & 和 ~

向量相关

向量基础知识: 单位向量e:模(向量算出来的长度)等于1的向量 AB=(a,b,c)  BC=(d,e,f)  向量的长度|AB|= √(a2 +b2+c2) 单位向量、长度、向量的关系:AB=|AB|*e 向量加减:AB±BC=AC= (a±d,b±e,c±f)  向量数乘:k*AB=(k*a,k*b,k*c) 向量数除:AB/k=(a/k,b/k,c/k) 向量相乘:AB*BC=|AB|*|BC

NX二次开发-UFUN从对象中获取的给定类型的所有几何项目UF_CAMGEOM_ask_items

这个例子是一位网友从西门子官网支持中心里面下载分享的 代码 //Sample CAM API program : report geom provider /***************************************************************************** ** ** report_geom_provider.c ** ** Description: ** Contains Unigra

NX二次开发-NXOpen::Measurement::GetMinimumDistance获得两个对象之间的最小距离

文章主题 NXOpen::Measurement::GetMinimumDistance 这个NXOpen方法是:获得两个对象之间的最小距离 与它相对应的UF函数是 UF_MODL_ask_minimum_dist ,有关它的用法,请查看 https://www.cnblogs.com/nxopen2018/p/10975886.html NXOpen类和方法介绍 NXOpen::Measurement类 : 提供

NX二次开发-调内部函数将对象设置为全局选择(设为高亮选中状态,在选择列表里)

 这个会经常用到,我封装了一个函数。NX11及以上版本是"\\NXBIN\\libugui.dll",NX11以下版本是"\\UGII\\libugui.dll",这个在使用的时候要注意。 代码 /* 调内部函数设置为全局选择 */ void SetSelect(tag_t select_tag) { //获取环境变量路径 char* GetName = NULL;

NX二次开发-使用SendMessage给NX窗口发送消息最小化

  NX11+VS2013 #include <afx.h> #include <uf.h> #include <uf_ui.h> UF_initialize(); //获取UG窗口句柄 HWND UGHwnd = (HWND)UF_UI_get_default_parent(); //给窗口发送消息最小化 SendMessage(UGHwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0); UF_terminate(); 阿飞 202

UF-list创建;特征、体、线、面的相互转换;

1.list创建 文件#include <uf_modl_utilities.h> UF_MODL_create_list       1创建一个链表,并返回链表的头指针 UF_MODL_put_list_item     2插入元素到链表中,不检验对象是否重复,或者已经存在。 UF_MODL_ask_list_count    3获取链表对象数量,从头开始遇到null_tag结

CSAPP lab1 datalab

#bitXor 用位运算模拟异或运算,这里用到了摩根定律: int bitXor(int x, int y) { // x^y = (~x&y) | (x~&y) = ~(~(~x&y) & ~(x&~y)) return ~(~(~x & y) & ~(x & ~y)); } #tmin 有符号整型数表示的最小数的位模式中,最高位是1,其余位全为0 int tmin(void) { return 1 << 31;

单个面倒C角,倒圆角

double mold_tolerance; UF_MODL_ask_distance_tolerance(&mold_tolerance); UF_FEATURE_SIGN sign = UF_NULLSIGN; char *length_plate="80"; char *width_plate="50"; char *heigh_plate="20"; double plate_center[3]={0,-25

LeetCode 128. 最长连续序列***

具体思想: 具体思路分两种,一种是map哈希,一种是并查集; 使用标准数组hash会超时; 1.map哈希: map保存是否出现,但是有一个遍历的trick; 如果map[i]出现,则枚举map[i+1]; 如果用该方法,则map[i-1]必定已经枚举过,所以必定只需要枚举map[i-1]不存在的元素即可; 2.并查集: 连续相邻的构成一个

DataLab题解

CS:APP DataLab题解 Lab简述 ​ 使用高度受限的C语言子集实现简单的逻辑、二进制补码和浮点数操作的函数。 Notes 使用dlc compiler来检测你的代码是否符合规范 每个函数使用的运算符数量会有一定的限制,不得超出该限制(=不计入统计),限制数在题目前的注释内给出 使用btest验证你

union find(自用)

type unionfind struct { count int //连通分量数 parent []int } //初始化 //x的父节点指向自己 func InitUF(n int) *unionfind{ uf :=new(unionfind) uf.count = n uf.parent = make([]int,n) for i:=0;i<n;i++{ uf.parent[i] = i } return uf } //union f

势函数算法小记

势函数:对 $i=[1,n]$ 自定义 $f(i)$,使得每一步势能变化期望 +1/-1,通过求初态与终态的势能差求期望步数 注意:这里的 $f(i)$ 是可以自拟的,即只要满足每一步势能变化期望为 +1/-1 即可! 所以说,这本质上是通过人类智慧定义这么一个函数! 常见形式:$\sum\limits_{i=1}^{n}f(a_i)=1+\sum\lim

NX二次开发-调内部函数MPDWSHARE_sheet_edit打开EXCEL到前台显示

这个方法我没研究过,是在QQ群中,看到别的大神发的,被我保存记录了下来。 但是我觉得这样用是比较麻烦的,想要把EXCEL打开显示在前台方法有很多。 没必要这么麻烦去做。 1.调用windows api的ShellExecute去打开  https://www.cnblogs.com/nxopen2018/p/11070031.html 2.直接用com组件

NX二次开发-UFUN求两个二维向量的叉乘UF_VEC2_cross

NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //求两个二维向量的叉乘 double vec1[2] = { 0, 100 }; double vec2[2] = { 110, 80 }; double cross_product = 0; UF_VEC2_cross(vec1, vec2, &cross_product); //打印

NX二次开发-UFUN释放一个面评估器结构UF_EVALSF_free

1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_evalsf.h> 5 #include <NXOpen/Body.hxx> 6 #include <NXOpen/Face.hxx> 7 #include <uf_disp.h> 8 9 10 public: 11 12 void SelectBody(

NX二次开发-UFUN求一个三维向量的垂直向量UF_VEC3_ask_perpendicular

NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //求一个三维向量的垂直向量 double vec1[3] = {0, 0, 1}; double vec_perp[3] = { 0 }; UF_VEC3_ask_perpendicular(vec1, vec_perp); //打印 char msg[256]; sprintf(msg, &q

NX二次开发-UFUN求两个二维向量相减UF_VEC2_sub

NX9+VS2012 #include <uf.h> #include <uf_ui.h> #include <uf_vec.h> UF_initialize(); //求两个二维向量相减 double vec1[2] = { 10.0, 0.0 }; double vec2[2] = { 0.0, 10.0 }; double vec_diff[2] = {0}; UF_VEC2_sub(vec1, vec2, vec_diff); //打印 cha

NX二次开发-UFUN获得镜像矩阵(做镜像体)uf5946

内容为转载,出自https://www.cnblogs.com/KMould/p/14084087.html 使用uf5946获取镜像矩阵注意:uf5946镜像这个函数,只能用#define UF_plane_type=46这种类型的数据作为镜像面,不能用#define UF_datum_plane_type=197这种类型的数据作为镜像面。 NX9+VS2012 #include <uf.h> #incl

.net语言 开发UG NX二次开发 NX12 (第八天)

1.体底面打三孔 AskBodyFaces     通过实体的Tag得到其全部面的TagAskFaceData     通过面的Tag得到其中心点、类型、方向、等...CreateSimpleHole  创建简单孔CreateList     创建链表AskListCount    得到链表中元素数量PutListItem     向链表尾部添