jim357951 发表于 2019-2-21 16:32:46

請求ASSIGN TEXT的SKILL

如題,想請問是否有ASSIGN TEXT的SKILL
功能大致是說我點擊文字點選ASSIGN TEXT在選擇我要的NET
將此文字改成我選擇的NET NAME
希望有高手可以出手相助
謝謝!

jim357951 发表于 2019-2-21 16:38:19

本帖最后由 jim357951 于 2019-2-21 18:04 编辑

或者有人知道那些函數是我需要用到的,我對函數認識的不多,目前想用下面2個函數來做編寫            
axlNetEcsetValueGet
axlDBChangeText

再透過CHANGE VIA NET的SKILL做修改,希望有人可以給些意見,




axlCmdRegister( "cvia" 'x_change_via_net)

defun( x_change_via_net ()
prog((p all vnet n_pad n_xy ch_via_logfile ch_via_logport flag)
               
      axlSetFindFilter( ?enabled
      list("noall" "vias") ?onButtons
      list("noall" "vias"))
            
      while( axlSelect()
                axlHighlightObject(axlGetSelSet())
                all = axlGetSelSet()
      )
      
      case( axlUIGetUserData()->doneState
      
      (done
                when( all == nil then
                        axlUIConfirm("You have select nothing!")
                        return(nil)
                )
               
                vnet = axlUIDataBrowse('NET '(RETRIEVE_OBJECT) "Please select net" t)
                when( vnet == nil return(nil))
               
                ch_via_logfile = axlTempFile()
                ch_via_logport = outfile(ch_via_logfile)
                flag = nil
                foreach( p all
                        n_pad = p -> name
                        n_xy = p -> xy
                        if( axlDBIsFixed(p) then
                              fprintf(ch_via_logport, "Ignore Change FIXED VIA @ %L\n" , p -> xy )
                              flag = t
                        else
                              when( axlDBCreateVia(n_pad n_xy car(vnet))
                                        axlDeleteObject(p)
                              )
                        )
                )
                close(ch_via_logport)
                when( flag axlUIWExpose(axlUIViewFileCreate(ch_via_logfile "Change Via Net Log" nil)))
      )
      
      (cancel
                axlUIWPrint(nil "cancel")
      )
      )
))

leilei4908 发表于 2019-3-4 14:06:15

就是创建同Net Name 的文字咯?
        axlClearSelSet()
        axlSetFindFilter(?enabled '("noall" "nets") ?onButtons '("noall" "nets"))
        net = car(axlGetSelSet(axlSingleSelectPoint()))
        textLayer = "BOARD GEOMETRY/SILKSCREEN_TOP"
        myorient = make_axlTextOrientation(
                ?textBlock "2" ;字号
                ?rotation 0.0 ;旋转角度
                ?mirrored nil ;是否镜像
                ?justify "left" ;对齐方式 "left" "center" "right"
        )
        axlDBCreateText(net->name axlGetLastEnterPoint() myorient textLayer nil)

jim357951 发表于 2019-3-4 17:41:47

leilei4908 发表于 2019-3-4 14:06
就是创建同Net Name 的文字咯?
        axlClearSelSet()
        axlSetFindFilter(?enabled '("noall" "nets") ?onBu ...

這問題我在學習交流的板上已經獲得解決了
覆上鏈結
http://www.allegro-skill.com/forum.php?mod=viewthread&tid=146551
謝謝你的ˊ回覆~~
页: [1]
查看完整版本: 請求ASSIGN TEXT的SKILL