找回密码
 注册
查看: 1373|回复: 8
打印 上一主题 下一主题

求帮忙修改skill

[复制链接]
  • TA的每日心情
    开心
    2022-11-28 15:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-17 11:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    shape倒角skill修改

    把倒角输入值修改为0.01-10000之间,默认只能在1-10000之间.



    1. (axlCmdRegister "shape_fillet"
    2.     'shape_fillet_main ?cmdType "interactive"
    3.     ?doneCmd
    4.     'sf_done ?cancelCmd
    5.     'sf_cancel
    6. )
    7. procedure((shape_fillet_main)
    8.     (s_f_version)
    9.     (sf_radius_value = 15.0)
    10.     (notdone = t)
    11.     (sfpopup = axlUIPopupDefine(nil
    12.             list(list("Done"
    13.                     'sf_done
    14.                 )
    15.                 list("Cancel"
    16.                     'sf_cancel
    17.                 )
    18.             )
    19.         ))
    20.     axlUIPopupSet(sfpopup)
    21.     (sfMark = axlDBTransactionStart())
    22.     (sf_Form_Create)
    23.     axlControlRaise('options)
    24.     (sf_form = axlMiniStatusLoad(gensym() sf_From_File
    25.             'get_radius_value t
    26.         ))
    27.     axlFormDisplay(sf_form)
    28.     axlFormSetField(sf_form "RADIUS_VALUE" sf_radius_value)
    29.     axlFormColorize(sf_form "sf_author"
    30.         'text
    31.         'red
    32.     )
    33.     axlFormColorize(sf_form "sf_date"
    34.         'text
    35.         'blue
    36.     )
    37.     axlFormColorize(sf_form "sf_website"
    38.         'text
    39.         'blue
    40.     )
    41.     while(notdone
    42.         (shape_fillet)
    43.     )
    44. )
    45. procedure((shape_fillet)
    46.     let((i s_f_buff temp temp_path select_Coord
    47.             beg_Coord end_Coord pre_Coord next_Coord beg_lineType
    48.             end_lineType pre_lineType pre_path next_lineType beg_line
    49.             end_line first_line second_line xx yy
    50.             sf_clockwise sf_layer sf_net
    51.         )
    52.         axlClearSelSet()
    53.         (axlSetFindFilter ?enabled
    54.             list("noall" "shapes") ?onButtons
    55.             list("noall" "shapes")
    56.         )
    57.         (selbox = (axlEnterBox))
    58.         if(selbox then
    59.             (axlSingleSelectBox selbox)
    60.             (s_f_buff = axlGetSelSet()) else
    61.             (s_f_buff = nil)
    62.         )
    63.         when((s_f_buff != nil)
    64.             (selbox = (ComputeBox selbox))
    65.             foreach(temp s_f_buff
    66.                 (shape_seg_no = (temp->nSegs))
    67.                 (sf_layer = (temp->layer))
    68.                 (sf_fill = (temp->fill))
    69.                 (temp_seg_no = 0)
    70.                 (sf_net = ((temp->net)->name))
    71.                 (beg_Coord = nil)
    72.                 (end_Coord = nil)
    73.                 (pre_Coord = nil)
    74.                 (next_Coord = nil)
    75.                 (beg_lineType = nil)
    76.                 (end_lineType = nil)
    77.                 (pre_lineType = nil)
    78.                 (next_lineType = nil)
    79.                 (sf_clockwise = nil)
    80.                 (select_Coord = nil)
    81.                 (beg_line = car((temp->segments)))
    82.                 (end_line = nth((shape_seg_no - 1)
    83.                         (temp->segments)
    84.                     ))
    85.                 when((((beg_line->objType) == "line") && ((end_line->objType) == "line") && ((beg_line->lineType) != 'odd) && ((end_line->lineType) != 'odd) && ((beg_line->lineType) != (end_line->lineType)))
    86.                     (temp_coord = (find_coord_in_box
    87.                             car((beg_line->startEnd)) selbox
    88.                         ))
    89.                     when((temp_coord != nil)
    90.                         ((beg_line->lineType) != (end_line->lineType))
    91.                         (select_Coord = temp_coord)
    92.                         (select_point_dir end_line beg_line)
    93.                     )
    94.                 )
    95.                 foreach(temp_path
    96.                     (temp->segments)
    97.                     if(((temp_path->objType) == "line") then
    98.                         if((pre_Coord == nil) then
    99.                             (temp_coord = (find_coord_in_box
    100.                                     cadr((temp_path->startEnd)) selbox
    101.                                 ))
    102.                             when(((temp_coord != nil) && ((temp_path->lineType) != 'odd))
    103.                                 (pre_Coord = temp_coord)
    104.                                 (pre_path = temp_path)
    105.                                 (pre_lineType = (temp_path->lineType))
    106.                             ) else
    107.                             (temp_coord = (find_coord_in_box
    108.                                     car((temp_path->startEnd)) selbox
    109.                                 ))
    110.                             when(((temp_coord != nil) && ((temp_path->lineType) != 'odd))
    111.                                 if((pre_Coord == temp_coord) then
    112.                                     if((pre_lineType != (temp_path->lineType)) then
    113.                                         (select_Coord = pre_Coord)
    114.                                         (select_point_dir pre_path temp_path) else
    115.                                         (pre_Coord = cadr((temp_path->startEnd)))
    116.                                         (pre_path = temp_path)
    117.                                         (pre_lineType = (temp_path->lineType))
    118.                                     ) else
    119.                                     (pre_Coord = nil)
    120.                                     (pre_lineType = nil)
    121.                                 )
    122.                             )
    123.                         ) else
    124.                     )
    125.                 )
    126.                 (sf_radius_value = axlFormGetField(sf_form "RADIUS_VALUE"))
    127.                 when((type(sf_radius_value) == 'string)
    128.                     (sf_radius_value = atof(sf_radius_value))
    129.                 )
    130.                 when((select_Coord != nil)
    131.                     axlUIWPrint(nil "The Coordinate (%P) is Selected!" select_Coord)
    132.                     (sf_dir = nil)
    133.                     (sf_dir = axlGeoPointInShape(((car(select_Coord) + xx):(cadr(select_Coord) + yy)) temp t))
    134.                     if(sf_dir then
    135.                         (linepath = (axlPathStart
    136.                                 list(select_Coord) 0
    137.                             ))
    138.                         (linepath = (axlPathLine linepath nil
    139.                                 ((car(select_Coord) + (sf_radius_value * xx)):cadr(select_Coord))
    140.                             ))
    141.                         (linepath = (axlPathLine linepath nil
    142.                                 (car(select_Coord):(cadr(select_Coord) + (sf_radius_value * yy)))
    143.                             ))
    144.                         (linepath = (axlPathLine linepath nil select_Coord))
    145.                         (andnotShape = car((axlDBCreateShape linepath sf_fill sf_layer sf_net
    146.                                     nil
    147.                                 )
    148.                             ))
    149.                         (poly1 = (axlPolyFromDB andnotShape))
    150.                         axlDeleteObject(andnotShape)
    151.                         (poly2 = (axlPolyFromDB temp))
    152.                         (poly2 = car(axlPolyOperation(poly2 poly1
    153.                                     'ANDNOT
    154.                                 )
    155.                             ))
    156.                         axlDeleteObject(temp)
    157.                         (arcCenter = ((car(select_Coord) + (sf_radius_value * xx)):(cadr(select_Coord) + (sf_radius_value * yy))))
    158.                         (arcpath = (axlPathStart
    159.                                 list(arcCenter) 0
    160.                             ))
    161.                         (arcpath = (axlPathLine arcpath nil
    162.                                 ((car(arcCenter) - (sf_radius_value * xx)):cadr(arcCenter))
    163.                             ))
    164.                         if((xx != yy) then
    165.                             (sf_clockwise = t) else
    166.                             (sf_clockwise = nil)
    167.                         )
    168.                         (arcpath = (axlPathArcRadius arcpath nil
    169.                                 (car(arcCenter):(cadr(arcCenter) - (sf_radius_value * yy))) sf_clockwise
    170.                                 nil sf_radius_value
    171.                             ))
    172.                         (arcpath = (axlPathLine arcpath nil arcCenter))
    173.                         (poly1 = car((axlDBCreateShape arcpath sf_fill sf_layer sf_net
    174.                                     nil
    175.                                 )
    176.                             ))
    177.                         (poly3 = (axlPolyFromDB poly1))
    178.                         (poly4 = car(axlPolyOperation(poly2 poly3
    179.                                     'OR
    180.                                 )
    181.                             ))
    182.                         (axlDBCreateShape poly4 sf_fill sf_layer sf_net
    183.                             nil
    184.                         )
    185.                         axlDeleteObject(poly1) else
    186.                         (arcCenter = select_Coord)
    187.                         (arcpath = (axlPathStart
    188.                                 list(arcCenter) 0
    189.                             ))
    190.                         (arcpath = (axlPathLine arcpath nil
    191.                                 ((car(arcCenter) + (sf_radius_value * xx)):cadr(arcCenter))
    192.                             ))
    193.                         if((xx != yy) then
    194.                             (sf_clockwise = nil) else
    195.                             (sf_clockwise = t)
    196.                         )
    197.                         (arcpath = (axlPathArcRadius arcpath nil
    198.                                 (car(arcCenter):(cadr(arcCenter) + (sf_radius_value * yy))) sf_clockwise
    199.                                 nil sf_radius_value
    200.                             ))
    201.                         (arcpath = (axlPathLine arcpath nil arcCenter))
    202.                         (poly1 = car((axlDBCreateShape arcpath sf_fill sf_layer sf_net
    203.                                     nil
    204.                                 )
    205.                             ))
    206.                         (poly2 = (axlPolyFromDB poly1))
    207.                         axlDeleteObject(poly1)
    208.                         (poly3 = (axlPolyFromDB temp))
    209.                         (poly4 = car(axlPolyOperation(poly2 poly3
    210.                                     'OR
    211.                                 )
    212.                             ))
    213.                         (axlDBCreateShape poly4 sf_fill sf_layer sf_net
    214.                             nil
    215.                         )
    216.                         axlDeleteObject(temp)
    217.                     )
    218.                 )
    219.             )
    220.         )
    221.     )
    222. )
    223. procedure((get_radius_value sf_form)
    224.     axlUIWPrint(nil "GET RADIUS VALUE")
    225.     case((sf_form->cuRField)
    226.         ("RADIUS_VALUE"
    227.             (sf_radius_value = (sf_form->curValue))
    228.         )
    229.     )
    230. )
    231. procedure((s_f_version)
    232.     axlUIWPrint(nil "------ Shape Fillet V1.1 ---- Written By Vivien Luo  ------")
    233.     axlUIWPrint(nil "------ E-mail : vivienluo@allegro-skill.com ------ Mar 14, 2013 ------")
    234. )
    235. procedure((ComputeBox InBox)
    236.     (fx = caar(InBox))
    237.     (fy = cadar(InBox))
    238.     (sx = caadr(InBox))
    239.     (sy = cadadr(InBox))
    240.     if((fx < sx) then
    241.         (llx = fx)
    242.         (urx = sx) else
    243.         (llx = sx)
    244.         (urx = fx)
    245.     )
    246.     if((fy < sy) then
    247.         (lly = fy)
    248.         (ury = sy) else
    249.         (lly = sy)
    250.         (ury = fy)
    251.     )
    252.     list((llx:lly)
    253.         (urx:ury)
    254.     )
    255. )
    256. procedure((find_coord_in_box TempInCoord inBox)
    257.     (inBoxCoord = nil)
    258.     when(((car(TempInCoord) > caar(inBox)) && (car(TempInCoord) < caadr(inBox)) && (cadr(TempInCoord) > cadar(inBox)) && (cadr(TempInCoord) < cadadr(inBox)))
    259.         (inBoxCoord = TempInCoord)
    260.     ) inBoxCoord
    261. )
    262. procedure((select_point_dir fst_line sec_line)
    263.     case((fst_line->lineType)
    264.         ('horizontal
    265.             if((caar((fst_line->startEnd)) < caadr((fst_line->startEnd))) then
    266.                 (xx = -1) else
    267.                 (xx = 1)
    268.             )
    269.         )
    270.         ('vertical
    271.             if((cadar((fst_line->startEnd)) < cadadr((fst_line->startEnd))) then
    272.                 (yy = -1) else
    273.                 (yy = 1)
    274.             )
    275.         )
    276.     )
    277.     case((sec_line->lineType)
    278.         ('horizontal
    279.             if((caar((sec_line->startEnd)) < caadr((sec_line->startEnd))) then
    280.                 (xx = 1) else
    281.                 (xx = -1)
    282.             )
    283.         )
    284.         ('vertical
    285.             if((cadar((sec_line->startEnd)) < cadadr((sec_line->startEnd))) then
    286.                 (yy = 1) else
    287.                 (yy = -1)
    288.             )
    289.         )
    290.     )
    291. )
    292. procedure((sf_Form_Create)
    293.     (sf_From_File = "./Shape_Fillet_Form.form")
    294.     (sf_Form = outfile(sf_From_File "w"))
    295.     fprintf(sf_Form "FILE_TYPE=FORM_DEFN VERSION=2\n")
    296.     fprintf(sf_Form "FORM \n")
    297.     fprintf(sf_Form "FIXED\n")
    298.     fprintf(sf_Form "PORT 35 3\n")
    299.     fprintf(sf_Form "HEADER \"Shape Fillet\"\n")
    300.     fprintf(sf_Form "\n")
    301.     fprintf(sf_Form "TILE\n")
    302.     fprintf(sf_Form "TEXT \"Radius\" sf_r\n")
    303.     fprintf(sf_Form "TLOC 5 2\n")
    304.     fprintf(sf_Form "ENDTEXT\n")
    305.     fprintf(sf_Form "\n")
    306.     fprintf(sf_Form "FIELD RADIUS_VALUE\n")
    307.     fprintf(sf_Form "FLOC 11 2\n")
    308.     fprintf(sf_Form "REALFILLIN 10 10\n")
    309.     fprintf(sf_Form "REALMIN 1.00\n")
    310.     fprintf(sf_Form "REALMAX 10000.00\n")
    311.     fprintf(sf_Form "DECIMAL 2\n")
    312.     fprintf(sf_Form "ENDFIELD\n")
    313.     fprintf(sf_Form "\n")
    314.     fprintf(sf_Form "TEXT \"Written By Vivien Luo \" sf_author\n")
    315.     fprintf(sf_Form "TLOC 5 6\n")
    316.     fprintf(sf_Form "ENDTEXT\n")
    317.     fprintf(sf_Form "\n")
    318.     fprintf(sf_Form "TEXT \"www.allegro-skill.com\" sf_website\n")
    319.     fprintf(sf_Form "TLOC 5 8\n")
    320.     fprintf(sf_Form "ENDTEXT\n")
    321.     fprintf(sf_Form "\n")
    322.     fprintf(sf_Form "TEXT \"Mar 14 , 2013\" sf_date\n")
    323.     fprintf(sf_Form "TLOC 5 10\n")
    324.     fprintf(sf_Form "ENDTEXT\n")
    325.     fprintf(sf_Form "\n")
    326.     fprintf(sf_Form "ENDTILE\n")
    327.     fprintf(sf_Form "ENDFORM\n")
    328.     close(sf_Form)
    329. )
    330. procedure((sf_done)
    331.     axlUIWPrint(nil "- Done -")
    332.     (notdone = nil)
    333.     axlFormClose(sf_form)
    334.     axlDBTransactionCommit(sfMark)
    335.     (axlCancelEnterFun)
    336. )
    337. procedure((sf_cancel)
    338.     axlUIWPrint(nil "- Cancel -")
    339.     (notdone = nil)
    340.     axlFormClose(sf_form)
    341.     axlDBTransactionRollback(sfMark)
    342.     (axlCancelEnterFun)
    343. )
    复制代码



    该用户从未签到

    2#
    发表于 2022-11-17 14:11 | 只看该作者
    这难道是外挂类的文件!
  • TA的每日心情
    开心
    2022-12-22 15:27
  • 签到天数: 62 天

    [LV.6]常住居民II

    3#
    发表于 2022-11-17 16:30 | 只看该作者
    哈哈,代码回上来被屏蔽了

    点评

    可以发文件出来?  详情 回复 发表于 2022-11-17 17:05
  • TA的每日心情
    开心
    2022-12-22 15:27
  • 签到天数: 62 天

    [LV.6]常住居民II

    4#
    发表于 2022-11-17 16:31 | 只看该作者
    hyper311 发表于 2022-11-17 16:30
    哈哈,代码回上来被屏蔽了

    这个简单,改好了,自己试下


    axlCmdRegister( "shape_fillet"
        'shape_fillet_main ?cmdType "interactive"
        ?doneCmd
        'sf_done ?cancelCmd
        'sf_cancel
        )
    procedure((shape_fillet_main)
        (s_f_version)
        (sf_radius_value = 0.5)
        (notdone = t)
        (sfpopup = axlUIPopupDefine(nil
            list(list("Done"
                'sf_done
                )
            list("Cancel"
                'sf_cancel
                )
            )
            ))
        axlUIPopupSet(sfpopup)
        (sfMark = axlDBTransactionStart())
        (sf_Form_Create)
        axlControlRaise('options)
        (sf_form = axlMiniStatusLoad(gensym() sf_From_File
            'get_radius_value t
            ))
        axlFormDisplay(sf_form)
        axlFormSetField(sf_form "RADIUS_VALUE" sf_radius_value)
        axlFormColorize(sf_form "sf_author"
            'text
            'red
            )
        axlFormColorize(sf_form "sf_date"
            'text
            'blue
            )
        axlFormColorize(sf_form "sf_website"
            'text
            'blue
            )
        while(notdone
            (shape_fillet)
            )
        )
    procedure((shape_fillet)
        let((i s_f_buff temp temp_path select_Coord
            beg_Coord end_Coord pre_Coord next_Coord beg_lineType
            end_lineType pre_lineType pre_path next_lineType beg_line
            end_line first_line second_line xx yy
            sf_clockwise sf_layer sf_net
            )
        axlClearSelSet()
        (axlSetFindFilter ?enabled
            list("noall" "shapes") ?onButtons
            list("noall" "shapes")
            )
        (selbox = (axlEnterBox))
        if(selbox then
            (axlSingleSelectBox selbox)
            (s_f_buff = axlGetSelSet()) else
            (s_f_buff = nil)
            )
        when((s_f_buff != nil)
            (selbox = (ComputeBox selbox))
            foreach(temp s_f_buff
                (shape_seg_no = (temp->nSegs))
                (sf_layer = (temp->layer))
                (sf_fill = (temp->fill))
                (temp_seg_no = 0)
                (sf_net = ((temp->net)->name))
                (beg_Coord = nil)
                (end_Coord = nil)
                (pre_Coord = nil)
                (next_Coord = nil)
                (beg_lineType = nil)
                (end_lineType = nil)
                (pre_lineType = nil)
                (next_lineType = nil)
                (sf_clockwise = nil)
                (select_Coord = nil)
                (beg_line = car((temp->segments)))
                (end_line = nth((shape_seg_no - 1)
                    (temp->segments)
                    ))
                when((((beg_line->objType) == "line") && ((end_line->objType) == "line") && ((beg_line->lineType) != 'odd) && ((end_line->lineType) != 'odd) && ((beg_line->lineType) != (end_line->lineType)))
                    (temp_coord = (find_coord_in_box
                        car((beg_line->startEnd)) selbox
                        ))
                    when((temp_coord != nil)
                        ((beg_line->lineType) != (end_line->lineType))
                        (select_Coord = temp_coord)
                        (select_point_dir end_line beg_line)
                        )
                    )
                foreach(temp_path
                    (temp->segments)
                    if(((temp_path->objType) == "line") then
                        if((pre_Coord == nil) then
                            (temp_coord = (find_coord_in_box
                                cadr((temp_path->startEnd)) selbox
                                ))
                            when(((temp_coord != nil) && ((temp_path->lineType) != 'odd))
                                (pre_Coord = temp_coord)
                                (pre_path = temp_path)
                                (pre_lineType = (temp_path->lineType))
                                ) else
                            (temp_coord = (find_coord_in_box
                                car((temp_path->startEnd)) selbox
                                ))
                            when(((temp_coord != nil) && ((temp_path->lineType) != 'odd))
                                if((pre_Coord == temp_coord) then
                                    if((pre_lineType != (temp_path->lineType)) then
                                        (select_Coord = pre_Coord)
                                        (select_point_dir pre_path temp_path) else
                                        (pre_Coord = cadr((temp_path->startEnd)))
                                        (pre_path = temp_path)
                                        (pre_lineType = (temp_path->lineType))
                                        ) else
                                    (pre_Coord = nil)
                                    (pre_lineType = nil)
                                    )
                                )
                            ) else
                        )
                    )
                (sf_radius_value = axlFormGetField(sf_form "RADIUS_VALUE"))
                when((type(sf_radius_value) == 'string)
                    (sf_radius_value = atof(sf_radius_value))
                    )
                when((select_Coord != nil)
                    axlUIWPrint(nil "The Coordinate (%P) is Selected!" select_Coord)
                    (sf_dir = nil)
                    (sf_dir = axlGeoPointInShape(((car(select_Coord) + xx)cadr(select_Coord) + yy)) temp t))
                    if(sf_dir then
                        (linepath = (axlPathStart
                            list(select_Coord) 0
                            ))
                        (linepath = (axlPathLine linepath nil
                            ((car(select_Coord) + (sf_radius_value * xx)):cadr(select_Coord))
                            ))
                        (linepath = (axlPathLine linepath nil
                            (car(select_Coord)cadr(select_Coord) + (sf_radius_value * yy)))
                            ))
                        (linepath = (axlPathLine linepath nil select_Coord))
                        (andnotShape = car((axlDBCreateShape linepath sf_fill sf_layer sf_net
                            nil
                            )
                        ))
                        (poly1 = (axlPolyFromDB andnotShape))
                        axlDeleteObject(andnotShape)
                        (poly2 = (axlPolyFromDB temp))
                        (poly2 = car(axlPolyOperation(poly2 poly1
                            'ANDNOT
                            )
                        ))
                        axlDeleteObject(temp)
                        (arcCenter = ((car(select_Coord) + (sf_radius_value * xx))cadr(select_Coord) + (sf_radius_value * yy))))
                        (arcpath = (axlPathStart
                            list(arcCenter) 0
                            ))
                        (arcpath = (axlPathLine arcpath nil
                            ((car(arcCenter) - (sf_radius_value * xx)):cadr(arcCenter))
                            ))
                        if((xx != yy) then
                            (sf_clockwise = t) else
                            (sf_clockwise = nil)
                            )
                        (arcpath = (axlPathArcRadius arcpath nil
                            (car(arcCenter):(cadr(arcCenter) - (sf_radius_value * yy))) sf_clockwise
                            nil sf_radius_value
                            ))
                        (arcpath = (axlPathLine arcpath nil arcCenter))
                        (poly1 = car((axlDBCreateShape arcpath sf_fill sf_layer sf_net
                            nil
                            )
                        ))
                        (poly3 = (axlPolyFromDB poly1))
                        (poly4 = car(axlPolyOperation(poly2 poly3
                            'OR
                            )
                        ))
                        (axlDBCreateShape poly4 sf_fill sf_layer sf_net
                            nil
                            )
                        axlDeleteObject(poly1) else
                        (arcCenter = select_Coord)
                        (arcpath = (axlPathStart
                            list(arcCenter) 0
                            ))
                        (arcpath = (axlPathLine arcpath nil
                            ((car(arcCenter) + (sf_radius_value * xx)):cadr(arcCenter))
                            ))
                        if((xx != yy) then
                            (sf_clockwise = nil) else
                            (sf_clockwise = t)
                            )
                        (arcpath = (axlPathArcRadius arcpath nil
                            (car(arcCenter):(cadr(arcCenter) + (sf_radius_value * yy))) sf_clockwise
                            nil sf_radius_value
                            ))
                        (arcpath = (axlPathLine arcpath nil arcCenter))
                        (poly1 = car((axlDBCreateShape arcpath sf_fill sf_layer sf_net
                            nil
                            )
                        ))
                        (poly2 = (axlPolyFromDB poly1))
                        axlDeleteObject(poly1)
                        (poly3 = (axlPolyFromDB temp))
                        (poly4 = car(axlPolyOperation(poly2 poly3
                            'OR
                            )
                        ))
                        (axlDBCreateShape poly4 sf_fill sf_layer sf_net
                            nil
                            )
                        axlDeleteObject(temp)
                        )
                    )
    )
    )
    )
    )
    procedure((get_radius_value sf_form)
        axlUIWPrint(nil "GET RADIUS VALUE")
        case((sf_form->cuRField)
            ("RADIUS_VALUE"
                (sf_radius_value = (sf_form->curValue))
                )
            )
        )
    procedure((s_f_version)
        axlUIWPrint(nil "------ Shape Fillet V1.1 ---- Written By Vivien Luo  ------")
        axlUIWPrint(nil "------ E-mail : vivienluo@allegro-skill.com ------ Mar 14, 2013 ------")
        )
    procedure((ComputeBox InBox)
        (fx = caar(InBox))
        (fy = cadar(InBox))
        (sx = caadr(InBox))
        (sy = cadadr(InBox))
        if((fx < sx) then
            (llx = fx)
            (urx = sx) else
            (llx = sx)
            (urx = fx)
            )
        if((fy < sy) then
            (lly = fy)
            (ury = sy) else
            (lly = sy)
            (ury = fy)
            )
        list((llx:lly)
            (urx:ury)
            )
        )
    procedure((find_coord_in_box TempInCoord inBox)
        (inBoxCoord = nil)
        when(((car(TempInCoord) > caar(inBox)) && (car(TempInCoord) < caadr(inBox)) && (cadr(TempInCoord) > cadar(inBox)) && (cadr(TempInCoord) < cadadr(inBox)))
            (inBoxCoord = TempInCoord)
            ) inBoxCoord
        )
    procedure((select_point_dir fst_line sec_line)
        case((fst_line->lineType)
            ('horizontal
                if((caar((fst_line->startEnd)) < caadr((fst_line->startEnd))) then
                    (xx = -1) else
                    (xx = 1)
                    )
                )
            ('vertical
                if((cadar((fst_line->startEnd)) < cadadr((fst_line->startEnd))) then
                    (yy = -1) else
                    (yy = 1)
                    )
                )
            )
        case((sec_line->lineType)
            ('horizontal
                if((caar((sec_line->startEnd)) < caadr((sec_line->startEnd))) then
                    (xx = 1) else
                    (xx = -1)
                    )
                )
            ('vertical
                if((cadar((sec_line->startEnd)) < cadadr((sec_line->startEnd))) then
                    (yy = 1) else
                    (yy = -1)
                    )
                )
            )
        )
    procedure((sf_Form_Create)
        (sf_From_File = "./Shape_Fillet_Form.form")
        (sf_Form = outfile(sf_From_File "w"))
        fprintf(sf_Form "FILE_TYPE=FORM_DEFN VERSION=2\n")
        fprintf(sf_Form "FORM \n")
        fprintf(sf_Form "FIXED\n")
        fprintf(sf_Form "ORT 35 3\n")
        fprintf(sf_Form "HEADER \"Shape Fillet\"\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "TILE\n")
        fprintf(sf_Form "TEXT \"Radius\" sf_r\n")
        fprintf(sf_Form "TLOC 5 2\n")
        fprintf(sf_Form "ENDTEXT\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "FIELD RADIUS_VALUE\n")
        fprintf(sf_Form "FLOC 11 2\n")
        fprintf(sf_Form "REALFILLIN 10 10\n")
        fprintf(sf_Form "REALMIN 0.01\n")
        fprintf(sf_Form "REALMAX 10000.00\n")
        fprintf(sf_Form "DECIMAL 2\n")
        fprintf(sf_Form "ENDFIELD\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "TEXT \"Written By Vivien Luo \" sf_author\n")
        fprintf(sf_Form "TLOC 5 6\n")
        fprintf(sf_Form "ENDTEXT\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "TEXT \"www.allegro-skill.com\" sf_website\n")
        fprintf(sf_Form "TLOC 5 8\n")
        fprintf(sf_Form "ENDTEXT\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "TEXT \"Mar 14 , 2013\" sf_date\n")
        fprintf(sf_Form "TLOC 5 10\n")
        fprintf(sf_Form "ENDTEXT\n")
        fprintf(sf_Form "\n")
        fprintf(sf_Form "ENDTILE\n")
        fprintf(sf_Form "ENDFORM\n")
        close(sf_Form)
        )
    procedure((sf_done)
        axlUIWPrint(nil "- Done -")
        (notdone = nil)
        axlFormClose(sf_form)
        axlDBTransactionCommit(sfMark)
        (axlCancelEnterFun)
        )
    procedure((sf_cancel)
        axlUIWPrint(nil "- Cancel -")
        (notdone = nil)
        axlFormClose(sf_form)
        axlDBTransactionRollback(sfMark)
        (axlCancelEnterFun)
        )


  • TA的每日心情
    开心
    2022-11-28 15:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
     楼主| 发表于 2022-11-17 17:05 | 只看该作者
    hyper311 发表于 2022-11-17 16:30
    哈哈,代码回上来被屏蔽了

    可以发文件出来?

    点评

    传文件也会扣贡献,红色这里改下就好了 fprintf(sf_Form "REALFILLIN 10 10\n") fprintf(sf_Form "REALMIN 0.01\n") fprintf(sf_Form "REALMAX 10000.00\n")  详情 回复 发表于 2022-11-17 17:43
    头像被屏蔽
  • TA的每日心情
    开心
    2025-1-23 15:05
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    6#
    发表于 2022-11-17 17:27 | 只看该作者
    提示: 作者被禁止或删除 内容自动屏蔽
  • TA的每日心情
    开心
    2022-12-22 15:27
  • 签到天数: 62 天

    [LV.6]常住居民II

    7#
    发表于 2022-11-17 17:43 | 只看该作者

    传文件也会扣贡献,红色这里改下就好了
        fprintf(sf_Form "REALFILLIN 10 10\n")
        fprintf(sf_Form "REALMIN 0.01\n")
        fprintf(sf_Form "REALMAX 10000.00\n")

    点评

    这样设置好像有BUG,对于shape形状大小小的好像不能倒角.(在mm单位的PCB里面),但是在mm切换到mil单位里面有可以倒角.  详情 回复 发表于 2022-11-17 18:54
  • TA的每日心情
    开心
    2022-11-28 15:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    8#
     楼主| 发表于 2022-11-17 18:54 | 只看该作者
    本帖最后由 sh_layout 于 2022-11-17 19:03 编辑
    hyper311 发表于 2022-11-17 17:43
    传文件也会扣贡献,红色这里改下就好了
        fprintf(sf_Form "REALFILLIN 10 10\n")
        fprintf(sf_Fo ...

    这样设置好像有BUG,另外对于shape形状大小小的好像不能倒角,如下图片中右边小的shape没法倒角.(在mm单位的PCB里面),但是在mm切换到mil单位里面是可以倒角.




  • TA的每日心情
    无聊
    2025-5-23 15:28
  • 签到天数: 610 天

    [LV.9]以坛为家II

    9#
    发表于 2022-11-17 19:53 | 只看该作者
    文件能不能分享出来   

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-23 15:49 , Processed in 0.093750 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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