Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 222|回复: 3

[讨论] 可以运行了

[复制链接]
发表于 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)               
                            )      
                        )
发表于 2025-1-17 10:51:06 | 显示全部楼层
你的单位换算可以改成这样,让allegro自动转换数值

  1. a = axlMKS2UU(sprintf(nil "%d mil" 1))
复制代码
发表于 2025-1-17 11:04:28 | 显示全部楼层
帮你优化了

  1. axlCmdRegister("quick_textset" 'textset1)
  2. defun(textset1 ()

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

  4.           for(text_block 1 8
  5.                   
  6.                 axlDBTextBlockCreate(1)
  7.                                 p = axlGetParam(sprintf(nil "paramTextBlock:%L" text_block))
  8.                                
  9.                                 if( text_block < 5
  10.                                
  11.                 p->width = 25 * text_block * a
  12.                 p->height = (25 * text_block + 15) * a
  13.                 p->lineSpace = 6
  14.                 p->photoWidth = (6 + 3 *(text_block - 1 )) * a
  15.                 p->charSpace = (6 + 2 *(text_block - 1 ))*a
  16.                                
  17.                                 else
  18.                                
  19.                                 text_block_set = text_block - 4
  20.                                
  21.                                 p->width = 5*text_block_set*a
  22.                 p->height = (5*text_block_set+5)*a
  23.                 p->lineSpace = (text_block_set+1)*a
  24.                 p->photoWidth = text_block_set*a
  25.                 p->charSpace = (text_block_set+1)*a
  26.                                
  27.                                 )                       
  28.                 axlSetParam(p)                               
  29.                                 )
  30.                                 )
复制代码
发表于 2025-2-21 09:14:43 | 显示全部楼层
请问这是能实现什么功能?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2025-4-22 08:29 , Processed in 0.806163 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表