Polyworks脚本开发学习笔记(十九)-将数据对象与参考对象对齐的方法

17 篇文章 1 订阅

Polyworks脚本开发学习笔记(十九)-将数据对象与参考对象对齐的方法

把开发手册理了一遍,发现还有几个点没有记录下来,其中一个就是使用点对的粗对齐和使用参考目标的精确对齐。为了把这个学习笔记凑够二十篇完结,今天再梳理一下关于对齐操作的命令,将数据对象与参考对象对齐的方法注意分为粗对齐和精确对齐。

粗对齐的方法

在导入数模和点云之后,通常点云是不在位置的。那么首先需要进行粗对齐。粗对齐的方法一般有最佳拟合和点对。

  1. 最佳拟合BEST FIT:最佳拟合通常用于数模和点云都比较干净,即没有脱离位置的杂物及噪点,并且位置差的不是太多,形状上也比较一致的情况。通常扫描规范,去除杂物的点云都可以先用最佳拟合进行粗对齐。

采用指定参考对象和指定数据对象方式创建最佳拟合

#设置最佳拟合对齐参数基准对象方式为指定的 "Specific" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE REFERENCE_OBJECTS ( "Specific" )
#设置最佳拟合对齐参数基准对象为指定的"1.igs" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE REFERENCE_OBJECTS SPECIFIC ( "1.igs" )
#设置最佳拟合对齐参数数据对象方式为指定的 "Specific" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE DATA_OBJECTS ( "Specific" )
#设置最佳拟合对齐参数数据对象为指定的"1.igs" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE DATA_OBJECTS SPECIFIC ( "1.stl" )
#将数据对象最佳拟合对齐到参考对象使用自动预对齐 名称为 "最佳拟合至参考 1"
ALIGN BEST_FIT DATA_TO_REFERENCE CREATE FIT_TO_REFERENCE_OBJECT_SURFACES USING_PRE_ALIGNMENT AUTOMATIC ( "BestFit1" )

或自动用全部参考对象和全部数据对象创建最佳拟合

DECLARE vStatus 
#设置最佳拟合对齐参数基准对象方式为全部 "All" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE REFERENCE_OBJECTS ( "All" )
#设置最佳拟合对齐参数数据对象方式为 "Surface" 
ALIGN BEST_FIT DATA_TO_REFERENCE OPTIONS CREATE DATA_OBJECTS ( "Surface" )
ALIGN BEST_FIT DATA_TO_REFERENCE CREATE FIT_TO_REFERENCE_OBJECT_SURFACES USING_PRE_ALIGNMENT AUTOMATIC ( "BestFit2") 
#接收一下有无错误
MACRO GET_ERROR_STATUS (vStatus)
MACRO ECHO ( $vStatus )
  1. 点对POINT_PAIRS:先选择要对齐的数据,进入点对以后会进入手动点对模式,这个模式是无法自动实现的。

    #选对要对齐的数据对象1
    TREEVIEW DATA SELECT ( 1, “On” )
    开始点对
    ALIGN POINT_PAIRS ( , )

  2. 矩阵对齐:在数据与参考对象对齐位置以后,为了保持正确的位置,可以将数据输出以后覆盖原来的文件就可以保持位置;也可以将现有的对齐导出为4X4矩阵保存下来,下次载入点云以后用导入矩阵的方法也可以对齐到保存的位置。
    首先保存位置矩阵

    #将现有的对齐位置导出到文件11.txt中
    ALIGN DATA_ALIGNMENT EXPORT_4X4 ( “D:Align .txt”, , )

在这里插入图片描述
然后从矩阵恢复数据对象位置

TREEVIEW DATA SELECT ( 1, "On" )
#将数据文件用矩阵移动到保存的位置,反转矩阵选项为On,不反转则为Off
ALIGN TRANSFORM_USING_MATRIX CREATE FROM_FILE SELECTED_OBJETS ( "D:Align	.txt", "Off", )

精确对齐的方法

精确对齐则是在粗对齐的基础上,通过在数据对象与参考对象上选择孔面等特征按照XYZ个方向进行特征对齐。这些进行对齐的特征被称为参考目标,这种方式也就是参考目标对齐。
常见的特征对齐方式为一面(3点构建1个面)和一个圆孔及一个长圆孔,即常用的六点定位,当然超过6个自由度的参考特征,就有特征会进行拟合。

  1. 创建参考特征:如3点(1面)1孔1长圆孔

  2. 选择这些特征创建为参考目标
    在这里插入图片描述

    #获取特征名称,从索引号1-5依次创建
    DECLARE vFeatName
    DECLARE i 1
    WHILE $i<=5
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW FEATURE SELECT ( $i,“On”)
    TREEVIEW FEATURE NAME GET ( KaTeX parse error: Expected group after '_' at position 84: …OBJECTS ("Align_̲{vFeatName}",$vFeatName)
    ++i
    ENDWHILE

  3. 设置每一个参考目标的对齐方向
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( X向On/off, Y向On/off, Z向On/off, 名称默认当前选择项 )

    #设置参考特征的对齐方向
    #参考目标1-Z1对齐Z向
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT ( 1, “On” )
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( “Off”, “Off”,“On” , )
    #参考目标2-Z2对齐Z向
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT ( 2, “On” )
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( “Off”, “Off”,“On” , )
    #参考目标3-Z3对齐Z向
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT ( 3, “On” )
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( “Off”, “Off”,“On” , )
    #参考目标4-Hx1y1对齐XY向
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT ( 4, “On” )
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( “On”, “On”,“Off” , )
    #参考目标5-HY2对齐Y向
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT ( 5, “On” )
    TREEVIEW REFERENCE_TARGET POINT FEATURE PROPERTIES ALIGNMENT_DIRECTIONS ( “Off”, “On”,“Off” , )

  4. 再选择参考目标并进行对齐,在对齐组中创建新的对齐方式 “参考目标 1”:,参考目标对齐完成。

    #全选5个参考目标
    TREEVIEW OBJECT SELECT NONE
    TREEVIEW REFERENCE_TARGET SELECT RANGE ( 1, 5, “On” )
    #创建参考目标对齐方式Ref_Target1并对齐
    ALIGN REFERENCE_TARGETS CREATE ( { “Align_z1”, “Align_z2”, “Align_z3”, “Align_Hx1y1”, “Align_Hy2” }, “参考目标 1” )

在这里插入图片描述
以上就是将数据对象与参考对象用脚本进行对齐的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值