zoukankan      html  css  js  c++  java
  • NX二次开发UFUN获得缩放矩阵(复制移动体)uf5944

    NX9+VS2012
    
    #include <uf.h>
    #include <uf_modl.h>
    #include <uf_trns.h>
    
    
    UF_initialize();
    
    
    //创建块
    UF_FEATURE_SIGN Sign = UF_NULLSIGN;//设置布尔
    double Corner_pt[3] = {0.0, 100.0, 0.0};//设置原点
    char *Edge_Len[3] = {"100", "100", "100"};//设置长宽高
    tag_t BlkTag = NULL_TAG;
    UF_MODL_create_block(Sign, NULL_TAG, Corner_pt, Edge_Len, &BlkTag);
    
    //特征找体
    tag_t body_tag = NULL_TAG;
    UF_MODL_ask_feat_body(BlkTag, &body_tag);
    
    //获得缩放矩阵
    int type = 1;//1.一致 2.不均匀
    double scales[3] = {0.5, 0.8, 0.9};
    double origin[3] = {0, 500, 0};
    double matrix[12] = { 0 };
    int status = 0;
    uf5944(&type, scales, origin, matrix, &status);
    
    
    tag_t tagObjs[] = { body_tag };
    int iCount = 1;
    int iMoveOrCopy = 2;//1:Move 2:Copy
    int iDestLayer = 0;    //0:原来的图层 //-1活动的图层  //1-256指定的图层
    int iTraceCurves = 1;//轨迹状态,1:开,2:关。
    tag_t tagCopies = NULL_TAG; //变化后坐标tag  复制的对象标识符的列表。当move_or_copy等于1 (move)时不使用。
    //当move_or_copy为2(copy)时,调用者必须将其赋予足够大的维度,以包含对象数组中相同数量的对象。
    tag_t tagTraceCurveGroup = NULL_TAG; //一组轨迹曲线。当trace_curves输入被设置为2(off)时,不会使用这个函数。
    int iStatus = 0;//0:成功 1-12错误
    if (status == 0)
    {
        //转换的实现
        uf5947(matrix, tagObjs, &iCount, &iMoveOrCopy, &iDestLayer, &iTraceCurves, &tagCopies, &tagTraceCurveGroup, &iStatus);
    }
    
    UF_terminate();
    
    阿飞
    2021年10月16日

     

    阿飞

    2021年10月16日

  • 相关阅读:
    模板
    模板
    模板
    模板
    2017-2018 ACM-ICPC Asia Tsukuba Regional Contest
    牛客
    软件工程
    Codeforces Round 696(Div.2)
    Atcoder ARC111 contest
    Codeforces Educational Round 100(Div.2)
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/15415619.html
Copyright © 2011-2022 走看看