zoukankan      html  css  js  c++  java
  • 完整的对齐脚本

    macroScript gt_duiqigognju

     category:"盖天工具"
     ButtonText:"对齐"
     toolTip:"对齐工具"
    (
      global gt_yc_Ail
     fn g_filter o = superclassof o == Geometryclass
     fn find_intersection z_node node_to_z =
     (
      --同样的条件 数字及计算要比字符串快 所以能用数字 不用字符串。
      
     oop=case of

       (

       (gt_yc_Ail.conunt_spn1.value ==1): [0,0,-1]

       (gt_yc_Ail.conunt_spn1.value ==2): [0,0,1]
        
       (gt_yc_Ail.conunt_spn1.value ==3):[-1,0,0]
        
       (gt_yc_Ail.conunt_spn1.value ==4):[1,0,0]
        
       (gt_yc_Ail.conunt_spn1.value ==5):[0,-1,0]
        
       (gt_yc_Ail.conunt_spn1.value ==6):[0,1,0]

       --default: reference $foo
       )

      local testRay = ray node_to_z.pos  oop
      local nodeMaxZ
       case oop  of
       (  ------Z 轴
        ([0,0,-1]) :(nodeMaxZ = z_node.max.z
         testRay.pos.z = nodeMaxZ + 0.0001 * abs nodeMaxZ
         
         )
        ([0,0,1]) :(nodeMaxZ = z_node.min.z
         testRay.pos.z = nodeMaxZ - 0.0001 * abs nodeMaxZ  
        )
        -------X轴 
        ([-1,0,0]) : (nodeMaxZ = z_node.max.x
         testRay.pos.x = nodeMaxZ + 0.0001 * abs nodeMaxZ   
        )
        ([1,0,0]) : (nodeMaxZ = z_node.min.x
        testRay.pos.x = nodeMaxZ - 0.0001 * abs nodeMaxZ   
        )
       ------- Y轴
              ([0,-1,0]) : (nodeMaxZ = z_node.max.y
        testRay.pos.y = nodeMaxZ + 0.0001 * abs nodeMaxZ   
        )
        ([0,1,0]) : (nodeMaxZ = z_node.min.y
        testRay.pos.y = nodeMaxZ - 0.0001 * abs nodeMaxZ   
        ) 
       )  
      
      --testRay.pos.z = nodeMaxZ + 0.0001 * abs nodeMaxZ
      intersectRay z_node testRay
     )

      try(destroyDialog gt_yc_Ail)catch()
     rollout gt_yc_Ail "yongchao-对齐" 168 height:80
     (
      spinner conunt_spn1 "" pos:[152,25] 12 height:16  range:[1,6,1] type:#integer
      edittext conunt_edt1 "" pos:[3,25] 147 height:16 text:"Z轴的负方向" enabled:false
      button pick_btn1 "开始对齐" pos:[6,49] 142 height:24
      groupBox grp1 "轴向选择:" pos:[5,9] 160 height:39
      on conunt_spn1 changed arg  do
      (
       new_obj = case arg of

       (

       1: conunt_edt1.text="Z轴的负方向"

       2: conunt_edt1.text="Z轴的正方向"
        
       3: conunt_edt1.text="X轴的负方向"
        
       4: conunt_edt1.text="X轴的正方向"
        
       5: conunt_edt1.text="Y轴的负方向"
        
       6: conunt_edt1.text="Y轴的正方向"

       --default: reference $foo

       )

      )
      
      
      on pick_btn1 pressed do
     (
      target_mesh = pickObject message:"Pick Target Surface:" filter:g_filter --- 这种拾取的方法更好。不用再显示;
      if isValidNode target_mesh then ---这个好用, 是如果节点没有被删除。
      (
       undo "MoveToSurface" on
       (
        for i in selection do
        (
         int_point = find_intersection target_mesh i
         if int_point != undefined then i.pos = int_point.pos
        )--end i loop
       )--end undo
      )--end if
     )--end pressed
       
      
     )
     createdialog gt_yc_Ail style:#(#style_border,#style_titlebar,#style_resizing,#style_sysmenu)

    )

  • 相关阅读:
    hadoopfs: 未找到命令...
    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    centos 7 安装音乐播放器(亲测可用)(转载)
    Linux 脚本编写基础
    Zip加密
    Qt嵌入cef3关闭窗口时崩溃的问题
    C++11多线程基础
    C++11多线程(std::atomic)
    C++11多线程(thread_local)
    VS 新建RelWithDebInfo模式
  • 原文地址:https://www.cnblogs.com/gaitian00/p/2016403.html
Copyright © 2011-2022 走看看