Fusion 360 获取装配部件的三角面片顶点在装配坐标系中的数值

原文链接:

https://forums.autodesk.com/t5/api-and-scripts/getting-triangulated-mesh-data-in-world-object-space/m-p/5613860#M354


如果您熟悉Inventor API,对部件与装配的关系不会陌生。在Fusion 360 也是类似的,即,部件是原始零件/子装 在装配中的引用,其形体即所谓代理实体,加入到装配后,部件的位置是基于装配基点做的偏移,自然其面片的数据也是偏移后的。所以,要是想拿到装配坐标系的的数值,需要再拿到原始零件的数值,再加上位置变换量。API提供了方便的方法,当拿到零件的body后 (目前还只是 BrepBody),可用以下方法得到装配环境中的代理body,进而通过这个代理body得到的三角面片信息就是装配坐标系的数值了。

BRepBody.createForAssemblyContext (部件引用)


function run(context) {

    "use strict";
    if (adsk.debug === true) {
        /*jslint debug: true*/
        debugger;
        /*jslint debug: false*/
    }
 
    var ui;
    try {
        var app = adsk.core.Application.get();
        ui = app.userInterface;
        
        var meshStr = '';
        var allOccs = app.activeProduct.rootComponent.allOccurrences;
        for(var i = 0; i < allOccs.count; i++){
            var occ = allOccs.item(i);
            var comp = occ.component;
            var bodies = comp.bRepBodies;
            for(var j = 0; j < bodies.count; j++){
                var body = bodies.item(j);
                body = body.createForAssemblyContext(occ);
                var meshMgr = body.meshManager;
                var meshList = meshMgr.displayMeshes;
                for(var k = 0; k < meshList.count; k++){
                    var triMesh = meshList.item(k);
                    var data = triMesh.nodeCoordinatesAsDouble;
                    var dataStr = data.join(",");
                    meshStr += dataStr;
                    meshStr += '\n';
                }
            }
        }
        //ui.messageBox(meshStr);
    } 
    catch (e) {
        if (ui) {
            ui.messageBox('Failed : ' + (e.description ? e.description : e));
        }
    }

    adsk.terminate(); 
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值