课题需求: 三维模型位置随实物位置改变而动态改变的功能,通过顶点位置坐标的改变,修改模型在显示中的位置。
功能验证:目前,可通过选中顶点手动输入坐标的方式,模拟验证此功能。
首先,点击“文件”工具栏,选择导入实体,导入一个step文件,这是一种常用的三维实体模型格式。
(资料图)
void OnOpenModel() { var dlg = new Microsoft.Win32.OpenFileDialog { DefaultExt = ".stp", Filter = "Models (*.igs;*.iges;*.stp;*.step;*.brep;*.stl)|*.igs;*.iges;*.stp;*.step;*.brep;*.stl" }; if (dlg.ShowDialog() != true) return;
SceneNode? node = null; ProgressView pv = new ProgressView(() => { var shape = ShapeIO.Open(dlg.FileName); if (shape == null) return; node = BrepSceneNode.Create(shape, null, null, 0, false); }); pv.ShowDialog();
if (node == null) return;
mRenderView.ShowSceneNode(node); mRenderView.ZoomAll(); }
然后,在导入的三维模型中选中某一点,即可在“操作对象”属性栏中看到该点在世界坐标系中的实际位置。
var item = itr.Current(); msg += $"\nNodeId: {item.GetNodeId()}"; msg += $"\nUserId: {item.GetUserId()}"; msg += $"\nShapeId: {item.GetShapeIndex()}"; msg += $"\nPrimitiveId: {item.GetPrimitiveIndex()}"; msg += $"\nType: {item.GetShapeType().ToString()}"; msg += $"\nTopoShapeId: {item.GetTopoShapeId().ToString()}"; var pt = item.GetPosition(); msg += $"\nPosition: {pt.x} {pt.y} {pt.z}";
如果需要修改该点的位置,可以点击“自定义位置调整”工具栏,在“目标位置”属性栏中输入目标坐标,或者使用鼠标拖动该点,即可将目标顶点移动到所需位置。并且,您可通过点击软件右上角位置方块,观察三维模型各个位置的动态变化。
选择顶点
ViewStateGuard.SetPickFilter(EnumShapeFilter.VertexEdgeFace);
对应的XAML代码
对应的坐标变量
GPnt _SourcePoint = new GPnt(); [ExpandXYZ] public GPnt SourcePoint { get => _SourcePoint; set { _SourcePoint.SetXYZ(value.XYZ()); OnPropertyChanged(nameof(SourcePoint)); OnPropertyChanged(nameof(SourcePointX)); OnPropertyChanged(nameof(SourcePointY)); OnPropertyChanged(nameof(SourcePointZ)); } }
GPnt _TargetPoint = new GPnt(); [ExpandXYZ] public GPnt TargetPoint { get => _TargetPoint; set { _TargetPoint.SetXYZ(value.XYZ()); OnPropertyChanged(nameof(TargetPoint)); OnPropertyChanged(nameof(TargetPointX)); OnPropertyChanged(nameof(TargetPointY)); OnPropertyChanged(nameof(TargetPointZ));
UpdateObject(); } }
应用变换
void UpdateObject() { if (_SourceObject == null) { return; }
var vec = new GVec(_SourcePoint, _TargetPoint); var trf = Matrix4.makeTranslation(Vector3.From(vec));
_SourceObject.SetTransform(trf); _SourceObject.RequestUpdate();
ViewContext.RequestUpdate(EnumUpdateFlags.Scene); }
此功能仅改变三维模型的三维坐标,不改变模型本身的形状。
-
【快播报】AnyCAD应用——修改指定点,线,面的坐标实现物体移动课题需求:三维模型位置随实物位置改变而动态改变的功能,通过顶点位置
-
镜报:红军退出芒特竞争因不想与蓝军长期谈判,也没足够资金支持直播吧7月1日讯此前有报道称利物浦与曼联都有意芒特,而最新消息是红魔
-
最新消息:技术爆炸理论 技术爆炸1、你好,火的应用,蒸汽机技术,信息技术。2、每一次技术爆炸都是划时
-
2023年上海市优秀科普作品评选结果正在公示关于2023年上海市优秀科普作品评选结果的公示为进一步推进上海科普事业
-
明星电力:6月30日融资买入1459.09万元,融资融券余额1.2亿元_新资讯6月30日,明星电力(600101)融资买入1459 09万元,融资偿还1392 67万
-
环球时讯:全国导游资格证怎么考_导游资格证怎么考1、a2、:笔试书籍和资料:3、《导游基础》4、《导游实务》5、《旅游政
-
南京直辖哪个城市是省会_南京直辖市最新消息1、这是假的。2、这个谣言最早要在2011年2011年传出的南京直辖方案中,
-
天天精选!昆明贵族学校有哪些_贵族学校有哪些1、英国温莎伊顿公学、瑞士克拉伦斯圣乔治、瑞士圣加仑奥夫研究、瑞士
-
船记:几乎整个快船都认为贝弗利是当今最能喷垃圾话的球员 环球要闻船记:几乎整个快船都认为贝弗利是当今最能喷垃圾话的球员,威少,船记,
-
一声巨响后钢和铝焊接在一起,这些用于国之重器的焊件皆由“爆炸”而成 实时焦点长江日报大武汉客户端6月28日讯(记者栾嘉雯通讯员宋振路)一声巨响,
-
新学期目标计划 大学新学期计划范文|快播报今天来聊聊学期目标计划,大学新学期计划范文的文章,现在就为大家来简
-
信邦制药放大中药饮片优势 回购股份前股东“突击”加仓 世界快消息今年以来股价一路向下的信邦制药(002390 SZ),被股东加仓。信邦制药6
-
云南省阜外心血管病医院是公立还是私立_云南省阜外心血管病医院_今亮点云南省阜外心血管病医院位于昆明市五华产业科技新区。于2017年9月15日
-
非国家工作人员涉嫌受贿的判多少年公司、企业或者其他单位的工作人员利用职务上的便利,索取他人财物或者
-
带着火影系统逛斗罗_带着系统穿斗罗1、我有压缩包,都是带基三系统穿越的,不过没有穿越到斗破和斗罗的。2
-
观热点:化鲸手里捧着什么_阴阳师化鲸手中一直捧着是什么1、鲸鱼手里一直拿着海螺。真岛活动,每天18:20开放,进入活动界面点击
-
error:partition 0 end too near(partition 0 ended too near) 全球聚焦1、要么重新格式化C盘,勾选4K对齐!要是还是不行,那就要检查你的硬盘
-
OpenAI被控非法使用图书数据来训练ChatGPT|全球资讯6月30日消息,据外媒报道,在一项集体诉讼中,OpenAI被控非法使用图书
-
天天热文:中端机和高端旗舰机到底有什么差别,我们做了一个详细对比在智能手机市场上,中端机和高端旗舰机之间的差别似乎一直是消费者关注
-
港产城“抱团取暖” 诸多障碍仍亟待清除│记者观察12台岸桥、42台轨道桥、92台ART(人工智能交通机器人)……目前世界上
-
畅通农食产品输华通道 中国深化中非互联互通|全球热消息随着中国与非洲经贸关系的不断深化,农食产品领域的合作亦引发关注
-
环球热点!久立特材:6月29日融资买入286.36万元,融资融券余额1.64亿元6月29日,久立特材(002318)融资买入286 36万元,融资偿还564 06万元
-
德龙汇能(000593)6月29日主力资金净卖出278.34万元截至2023年6月29日收盘,德龙汇能(000593)报收于6 71元,下跌2 19%,换
-
算力风再起,通信反弹!1、AI拉动之下,科技板块比传统板块更加受到青睐,但随着估值快速提升
-
微信工资条如何生成_微信工资条小程序 新动态1、目前微信的应用范围是非常广泛的,很多人在日常工作中,都会使用到
-
【快播报】充电速度“一秒一公里”记者了解到,会展中心全液冷超充站是南方电网深圳供电局携手华为数字能
-
中国银联河南分公司多措并举 以支付激活消费引擎 世界热议中国银联河南分公司多措并举以支付激活消费引擎,消费券,云闪付,优惠券,
-
世界即时看!美国民调:超七成美民众不满现状 政治极化不断加深n美国全国广播公司近日公布的一项民调显示,高达74%的受访者认为美国
-
招行值得办理的信用卡有哪些?这些信用卡最值得办理!招商银行作为商业银行的龙头老大,每年的发卡量都是巨大的。办理招行信
-
带着物资穿越民国_带着物资到明末1、带着仓库到大明。2、异常生物见闻录这2本书可以追。本文到此分享完