xieeyawen 发表于 2025-1-16 20:56:35

可以运行了


axlCmdRegister("quick_textset" 'textset1)
defun(textset1 ()
          case(car(axlDBGetDesignUnits())
                  ("mils"a = 1)
            ("millimeters" a = 0.0254 )
               )
    Textblock_list1 = '("1" "2" "3" "4")
          foreach(text_block Textblock_list1
                p1 = axlGetParam(strcat("paramTextBlock:" text_block))
            block_p1 = atoi(text_block)
                p1->width = 25*block_p1*a
                p1->height = (25*block_p1+15)*a
                p1->lineSpace = 6
                p1->photoWidth = (6+3*(block_p1-1))*a
                p1->charSpace = (6+2*(block_p1-1))*a
                axlSetParam(p1)
                     )
    Textblock_list2 = '("5" "6" "7" "8")
          foreach(text_block Textblock_list2
                p2 = axlGetParam(strcat("paramTextBlock:" text_block))
            block_p2 = atoi(text_block)-4
                p2->width = 5*block_p2*a
                p2->height = (5*block_p2+5)*a
                p2->lineSpace = (block_p2+1)*a
                p2->photoWidth = block_p2*a
                p2->charSpace = (block_p2+1)*a
                axlSetParam(p2)               
                            )      
                        )

markgoob 发表于 2025-1-17 10:51:06

你的单位换算可以改成这样,让allegro自动转换数值

a = axlMKS2UU(sprintf(nil "%d mil" 1))

markgoob 发表于 2025-1-17 11:04:28

帮你优化了

axlCmdRegister("quick_textset" 'textset1)
defun(textset1 ()

a = axlMKS2UU(sprintf(nil "%d mil" 1))

          for(text_block 1 8
                  
                axlDBTextBlockCreate(1)
                                p = axlGetParam(sprintf(nil "paramTextBlock:%L" text_block))
                               
                                if( text_block < 5
                               
                p->width = 25 * text_block * a
                p->height = (25 * text_block + 15) * a
                p->lineSpace = 6
                p->photoWidth = (6 + 3 *(text_block - 1 )) * a
                p->charSpace = (6 + 2 *(text_block - 1 ))*a
                               
                                else
                               
                                text_block_set = text_block - 4
                               
                                p->width = 5*text_block_set*a
                p->height = (5*text_block_set+5)*a
                p->lineSpace = (text_block_set+1)*a
                p->photoWidth = text_block_set*a
                p->charSpace = (text_block_set+1)*a
                               
                                )                       
                axlSetParam(p)                               
                                )
                                )

LiuTao 发表于 2025-2-21 09:14:43

请问这是能实现什么功能?

xieeyawen 发表于 2025-6-19 17:06:59

1
页: [1]
查看完整版本: 可以运行了