news 2026/7/23 14:04:19

010.UG二次开发,自定义ui模拟ug12.0草图选择框

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
010.UG二次开发,自定义ui模拟ug12.0草图选择框

ug12.0的草图选择框UI非常的智能,例如选择平面中的自动判断,当我们选择两个面,他会自动推断选择两个面之间的中面,还有其他许多高级智能推断等等.在拉伸,旋转等等命令中的内部草图中都有这个智能草图选择框可以调用,加上旧草图约束算法,工作效率是新版西门子软件的4-5倍以上.

西门子ug软件在18系列以后放弃了机械设计模块,草图框架也改得面目全非,可以说从18系列以后的所有ug版本软件,全部无法用于正常工作.最显著的影响就是草图框架的封装,无论是新建草图,还是拉伸,旋转等内部草图,在选择工作草图平面时的逻辑被改得极其弱智,工作效率直接归0.

虽然,新版本ug软件有种种不堪,但底层的技术毕竟更新了10几年,不能因为他不堪重用就一直使用旧软件.本节内容主要解决的痛点就是:"用插件去模拟ug12.0的草图选择框ui,快速新建出智能判断草图平面的草图,结合旧草图约束设置,实现高版本ug像ug12.0一样提高4-5倍的工作效率"

高版本ug的拉伸,旋转等等命令的内部草图ui基本封装了弱智的草图选择框ui,我们不可能每一个命令都去写一套代码,插件,于是,我们用曲线救国的方法,让我们的插件只模拟新建外部草图,有了草图后我们再用这个草图去完成拉伸或旋转,效果是一样的

一.接009篇内容,将给ui界面加上功能

优化ui类,主要优化是 回调函数apply_cb(),这个函数是ui界面的确认按键按下后会触发这个回调函数,我们在中国回调函数中将选择是平面,矢量,点传给草图,并new一个草图,就实现了ug12.0的高级草图选择框

using NXOpen; using NXOpen.BlockStyler; using NXOpen.CAE; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace UG_Sketsh { public class BlockStyler001 { //class members private static Session theSession = null; private static UI theUI = null; private string theDlxFileName; private NXOpen.BlockStyler.BlockDialog theDialog; private NXOpen.BlockStyler.Label label0;//标签 private NXOpen.BlockStyler.SpecifyPlane plane0;// Block type: 指定平面 private NXOpen.BlockStyler.Separator separator0;// Block type: 分割线 private NXOpen.BlockStyler.Label label01;// 标签 private NXOpen.BlockStyler.SpecifyVector vector0;// Block type: 指定矢量 private NXOpen.BlockStyler.Separator separator01;// Block type: 分割线 private NXOpen.BlockStyler.Label label02;// Block type:标签 private NXOpen.BlockStyler.Separator separator02;// Block type: 分割线 private NXOpen.BlockStyler.SpecifyPoint point0;// Block type: 指定点 private NXOpen.BlockStyler.ScrolledWindow scrolledWindow;// Block type: 滚动窗口 public static readonly int SnapPointTypesOnByDefault_UserDefined = (1 << 0); public static readonly int SnapPointTypesOnByDefault_Inferred = (1 << 1); public static readonly int SnapPointTypesOnByDefault_ScreenPosition = (1 << 2); public static readonly int SnapPointTypesOnByDefault_EndPoint = (1 << 3); public static readonly int SnapPointTypesOnByDefault_MidPoint = (1 << 4); public static readonly int SnapPointTypesOnByDefault_ControlPoint = (1 << 5); public static readonly int SnapPointTypesOnByDefault_Intersection = (1 << 6); public static readonly int SnapPointTypesOnByDefault_ArcCenter = (1 << 7); public static readonly int SnapPointTypesOnByDefault_QuadrantPoint = (1 << 8); public static readonly int SnapPointTypesOnByDefault_ExistingPoint = (1 << 9); public static readonly int SnapPointTypesOnByDefault_PointonCurve = (1 << 10); public static readonly int SnapPointTypesOnByDefault_PointonSurface = (1 << 11); public static readonly int SnapPointTypesOnByDefault_PointConstructor = (1 << 12); public static readonly int SnapPointTypesOnByDefault_TwocurveIntersection = (1 << 13); public static readonly int SnapPointTypesOnByDefault_TangentPoint = (1 << 14); public static readonly int SnapPointTypesOnByDefault_Poles = (1 << 15); public static readonly int SnapPointTypesOnByDefault_BoundedGridPoint = (1 << 16); public static readonly int SnapPointTypesOnByDefault_FacetVertexPoint = (1 << 17); public static readonly int SnapPointTypesOnByDefault_DefiningPoint = (1 << 18); //------------------------------------------------------------------------------ //Bit Option for Property: SnapPointTypesEnabled //------------------------------------------------------------------------------ public static readonly int SnapPointTypesEnabled_UserDefined = (1 << 0); public static readonly int SnapPointTypesEnabled_Inferred = (1 <&l
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 14:02:15

OpenClaw平台:AI大模型与模块化技能在龙虾养殖中的应用

1. OpenClaw与AI大模型技能生态解析 OpenClaw是一个面向AI智能体开发的工具平台&#xff0c;其核心创新点在于将传统AI大模型能力与模块化技能(Skills)体系相结合。这个设计理念类似于给专业厨师(大模型)配备了一套标准化厨具(Skills)&#xff0c;让原本需要从头准备食材的烹饪…

作者头像 李华
网站建设 2026/7/23 14:00:09

JS 数据脱敏实现

JS替换字符串中某字符 &#xff0c; 身份证、手机号、银行卡、姓名等脱敏工具function createMasker(options {}) {const { keepHead 1, keepTail 1, maskChar * } options;return function(str) {// 增加类型校验&#xff0c;提高健壮性if (typeof str ! string) return …

作者头像 李华
网站建设 2026/7/23 13:58:24

AI知识抽取技术:从原理到工程实践

1. 知识抽取技术概述&#xff1a;AI原生应用的核心引擎知识抽取技术作为构建AI原生应用的基础设施&#xff0c;正在重塑企业知识管理的范式。这项技术通过自动化手段从非结构化数据中提取结构化知识单元&#xff0c;包括实体、属性和关系&#xff0c;形成机器可理解、可推理的知…

作者头像 李华
网站建设 2026/7/23 13:55:15

WebGL与WebGPU兼容性实战:Three.js项目中的渐进增强策略

最近在调试一个 Three.js 项目时&#xff0c;遇到了一个典型的兼容性问题&#xff1a;在部分设备上控制台报出WebGL context could not be created&#xff0c;而同一套代码在其他设备上却运行正常。这个问题让我重新思考了 WebGL 和 WebGPU 在项目中的定位——它们不只是技术选…

作者头像 李华
网站建设 2026/7/23 13:54:49

Tiva C系列EPI控制器时钟分频与多设备速率配置详解

1. EPI控制器与外部接口速率配置的核心逻辑在嵌入式系统开发中&#xff0c;微控制器与外部世界&#xff08;如SRAM、Flash、FPGA或并行ADC/DAC&#xff09;的通信&#xff0c;其稳定性和效率往往取决于接口时序的精确控制。Tiva™ C系列微控制器集成的EPI&#xff08;External …

作者头像 李华
网站建设 2026/7/23 13:54:47

聚龙汇刘睿带学员前往义乌探访小商品市场

7月上旬&#xff0c;义乌的街头到处都是拉着小推车运货的商贩&#xff0c;连空气里都飘着快递面单的油墨和新塑料的混合味道&#xff0c;聚龙汇刘睿带领25名学员从杭州出发&#xff0c;驱车一个多小时来到浙江义乌&#xff0c;探访全球最大的小商品集散中心。这次调研的学员里有…

作者头像 李华