Quantcast
Channel: Cadence PCB Skill Forum
Viewing all 2130 articles
Browse latest View live

How to code Segment Over Voids

$
0
0

Hi,

I understand there's build-in function in Display->Segment Over Voids available, but it will process all nets and take a lone time to complete, in addition, it can not filter out the voids under BGA, which makes the whole SOV reports is too large and not exactly what I want.

So I tried to write a script to do the same thing, I used the loop to get each bBox of segments of one net, and use axlSetFindFilter and axlSingleSelectBox to collect all shapesegs in the area and filter out the objects which is not in reference plane. However, this script is not accurate enough and take longer time to complete.

Due to the characteristic of bBox, the reports shows all elements in the bBox area which might not really underneath the nets, it's just close to the net. 

For example, the report will include the red circle on the right (keepout) which is not really underneath the net.

  

It also takes longer time to complete than the build-in SOV function when I'd like to process a bunch of net (~100 nets), even will hang forever.

Does anyone have idea to code SOV in another way? Any advice is appreciated.

Thanks in advance.

 


Same Net via overlapped by trace

$
0
0

Hi,

I want to find the location if same net via get overlapped by trace using skill. I don't know how to get any one please guide me to get this.

Thanks,

Karthi

How to know what command is currently active ?

$
0
0

Does anyone know how to get the currently running or active command?
Greatful

REST menu *Error* putprop: first arg must be either symbol, list, defstruct or user type

$
0
0

Hi, Im trying to use REST menu option in allegro but there's an error.

I tried using slicer command and received this error --> *Error* putprop: first arg must be either symbol, list, defstruct or user type - array@0x2bd0ad0a038

I've tried to use directly at the REST menu bar but similar error popped up.

I tried restarting the program, even tried to reinstall REST program but same thing happened. 

Is there any setting/environment variable I need to change or add?

Cline Net Path Length Report

$
0
0

Hi,

I want to get cline reports using cadence skill but I don't know the command to get "NET PATH LENGTH" value any one please guide me to get the value I will attach my code below.

Code:

axlCmdRegister("net_len_kar_wid" 'net_len_kar_wid)
procedure(net_len_kar_wid()
originalVisible=axlVisibleGet()
axlVisibleDesign(t)
axlShell("redisplay")
axlClearSelSet()
axlSetFindFilter(?enabled '("NOALL", "CLINES"), ?onButtons "CLINES")
net_list = axlGetSelSet(axlAddSelectAll())
Net_rep = nil
foreach(net_data net_list
 Net_len = axlDBGetLength(net_data)
 Net_Path_len = ? ;I don't know the command to get
 Net_val = sprintf(nil, "%s,%s,%L,%L", net_data->net->name, net_data->layer, Net_len, ?)
 list_seg = nil
 foreach(net_data_seg net_data->segments
  Seg_width = net_data_seg->width
  when(Seg_width push(Seg_width list_seg))
 )
 list_seg_unq = nil
 list_seg_unq = unique(list_seg)
 Final_val = sprintf(nil, "%s,%L", Net_val, list_seg_unq)
 when(Final_val push(Final_val Net_rep))
)
print(Net_rep)
)

How to convert Shape to Cline?

$
0
0

Hi All

there is a code for converting Cline to Shape Cadence given.

but how to convert to Shape to Cline back again?

is there any code for this?

regard

How to assign net_short property to a shape that is part of a component?

$
0
0

Here's what I am doing in order to accomplish this:

Obtain component's symbol object, then obtain children of symbol and if child == “shape” then use the following blue line to add NET_SHORT property but it does not work…get nil for result

netShortProp = strcat("GND1" ":" "GND2")
result = axlDBAddProp(myShape list( "NET_SHORT" netShortProp))

Thanks in advance.

axlUIViewFileCreate not working for html file 17.4

$
0
0

Hi all,

We have a program that creates a log file in html format, then opens it using axlUIViewFileCreate.

This works fine in 17.2, but now opens the file as a text document in 17.4.

I have allegro_html turned on and allegro_html_qt turned off.

Anyone else have this issue? If so, were you able to correct it?\

Thanks,

Jerry


axlSetFindFilter keyword "NAMEFORM" is not working if the script is executed by replaying *.scr file in customized allegro.men

$
0
0

Hi, 

I am writing a skill script which will enable Find By Name form for user to select nets by themselves or specify a file to load multiple nets. In this case, user would like to specify a file to load multiple nets.

It's weird that if we invoke the axlSetFindFilter function with enabled keyword "NAMEFORM" by just typing it on the SKILL windows, it works normally.

Example code: axlSetFindFilter(?enabled '("NOALL" "NETS" "NAMEFORM")  ?onButtons "ALL")

If I try to run the script which included this function to enable Fund By Name Form by replaying *.scr file in customized allegro.men file, the "..." button would be broken and unable to choose file. (clicked but no window pops up) 

I suspect that there's something wrong when it executes the *.il file by replaying *.scr file in customized allegro.men file, does anyone know how to fix this issue? 

Allegro version: 17.2-2016 S061 [10/28/2019] Windows SPB 64-bit Edition

Thanks!

Lauren

error when trying to load plt file using axlDetailLoad

$
0
0

I am trying to use the following skill code to load a plt file. This is to replace a script I was using in 16.6 and now trying to migrate to 17.4.

    (axlMsgPut "Turning on DRAWING_FORMAT/PS_OUTLINE")
    axlVisibleLayer("DRAWING FORMAT/PS_OUTLINE" t)
    (axlMsgPut "Generating Border script")
    file = "X:/conf_root/ABB/JMM/pcb/plot/pwbfabBorder.plt"
    (axlMsgPut "Found border file %L" file)
    
    axlDetailLoad(
        file
        -2400:-3600
        1.0
        0            
        nil
    )

This code shows a spinning icon but never completes and after 15 min exits with no data found on the indicated layer.

Any guidance on what could be wrong would be appreciated. Note: I am able to import this plt without any issues.

Thanks

axlRunBatchDBProgram to run a report in 17.4

$
0
0

Hi all,

We are using the following syntax, in 17.2, to create different reports and it works fine.

sprintf(cmd, "report -v sum \"%s\" summary.rpt", axlGetDrawingName() )
axlRunBatchDBProgram("summary report" cmd ?noLogview t ?noExitMsgs t)

When I try the same code in 17.4 it does no recognize axlGetDrawingName() as the for the design name.

I also tried axlCurrentDesign() and that did not work in 17.4, either.

Any ideas would be appreciated.

Thanks,

Jerry

How to display original shape?

$
0
0

Hi,

I'm Allegro 17.4 PCB editor user.

As below pictures, all of the curve such as VIAs, shapes, traces are displayed as polygon.

What should I do?

PDF EXPORT

$
0
0

Hi,

I want to export the every layers PDF. I used by below code its not working PDF is not generating any one please re correct the code or help me to get PDF by skill programing.

code:

 procedure(PDFEXP()
 l_cnvFiles = nil
    designName = axlCurrentDesign()
    foreach(filmName axlGetParam("artwork")->groupMembers
        f = strcat("PDF_" filmName)
        p = axlDMOpenFile("ALLEGRO_CNV" f "w")
        fprintf(p "#This is the Layer Conversion File used for\n")
        fprintf(p "#importing PDF data into Allegro/APD.\n\n")
        fprintf(p "#CLASS!SUBCLASS!PDF_LAYER!\n\n")
        foreach(layer axlGetParam(strcat("artwork:" filmName))->groupMembers
            layerStr = parseString(layer "/")
            fprintf(p "%s!\n%s!%s!\n\n" car(layerStr) cadr(layerStr) strcat(car(layerStr) "_" cadr(layerStr)))
        )
        fprintf(p "#END\n")
        push(get_filename(p) l_cnvFiles)
        axlDMClose(p)
        sprintf(cmd "pdf_out -$ -u MM -a 3 -f 12 -c L \"%s.cnv\" \"%s/%s_%s.pdf\" %%s" f getWorkingDir() designName filmName)
        axlRunBatchDBProgram("Creating PDF File" cmd ?warnProgram t ?noExitMsgs t)
    )
    errset(mapcar('deleteFile l_cnvFiles) t)
)

How can I set the specific color feature with SKILL?

$
0
0

Hi All

I know that I can set the color with axlVisibleLayer("etch/top" t) for "Stack-Up" class

but this function only work on Stack-Up

but I want to use this function at "Manufacturing" class

it was not work on that class

I tried to use this "axlVisibleLayer("Mfg/Autosilk" t)" for switch on

but the func return only nil and nothing changed

How can I set that value?

regard

How can I set reverse shape (postive to negative)?

$
0
0

Hi All

there is normal design below, but I want to chage the shape area to void and void area to shape like below

I meant that I want to set shape reversely when I use dynamic fill shape

is there any way to do this?

regard


Highlighting the NET

$
0
0

Hi,

Highlighting the nets through by skill attached the code below through by this method I want to go further  for highlighting all the sites.

but by using this method of highlight option its automatically de highlighted  how to fix this. any one please help me to do.

also I want to select only single net.

axlCmdRegister("chknet" 'chknet)
procedure(chknet()
axlClearSelSet()
 axlSetFindFilter(?enabled '("NOALL", "NETS"), ?onButtons "NETS")
 Net_Get_List = axlGetSelSet(axlSelect( ))
  foreach(nethighget Net_Get_List
   Net_Name = nethighget->name
  )
 when(dbid= axlDBFindByName('net Net_Name) axlHighlightObject(dbid))
)

its not working de highlighting automatically.

Finding Un even Shapes

$
0
0

Hi,

I have to find un even shape flooded area I don't know how to find using cadence skill programing please guide to find using skill attached the sample image below.

Code:

(defun unevenshape ()
originalVisible=axlVisibleGet()
designName = axlCurrentDesign()
design_path = axlGetDrawingName()
design_unit = car(axlDBGetDesignUnits())
View_list = list()
AllShapeCheck = axlDBGetShapes("ETCH")
if(length(AllShapeCheck)== 0 then
axlUIConfirm("No shape found!")
else
outputfile = outfile("./unevenshape.log" "w")
timeperform = fileTimeModified("unevenshape.log")
fprintf(outputfile, "Design name: %s\n", design_path)
fprintf(outputfile, "%s %s\n\n", "Date: ", timeToString(timeperform))
fprintf(outputfile, "%s\n", "--------------------------------------------------------------------------")
fprintf(outputfile, "%-5s %-10s %-10s %-22s\n\n", "No", "Layer", "Net Name", "Location")
STT = 0
foreach(shape AllShapeCheck
  ; I don't know the code to get un even shape anyone please help me out to get.
);foreach shape
View_list = sort(View_list 'alphalessp)
foreach(item View_list
STT = STT + 1
fprintf(outputfile,"%-5d %-s\n", STT, item)
);end foreach
close(outputfile)
if(STT > 0 then
axlUIViewFileCreate("unevenshape.log" " report..." nil)
else
axlUIConfirm( "No Error found.")
if(isFile("unevenshape.log") == t then deleteFile("unevenshape.log"))
)
)
)

How do I iterate through all component instances and switch to the ALT_FOOTPRINT?

$
0
0

Allegro enables me to make a bad situation better.   We were not forward thinking 8 years ago (can't make Step Assy models from PADS, so why bother planning for it).   

By default, our 0402 symbols have no height.  But, CIS db has ALT_SYMBOLS  properties.   Mechanical engineers are happy.

"We need to move mouting holes.  Can you build another translation from PADS?"

Takes about half an hour to go through all the passives on RF designs and switch to the "3d" symbol.'

Is there a way to iterate through instances on the board and change footprints to the first ALT_SYMBOLS name in the list?

Datum Dimension by skill

$
0
0

Hi

Is any way to do datum dimension measuring and placing in corner of brd file using cadence skill program if it possible please guide me to do.

        

PCB Editor

$
0
0

Hey all, I'm currently facing an error when trying to remove a Mechanical component in one of the boards I'm working on; indeed when I use the "Delete" command I get this error:


(SPMHDB-243): Cannot modify element; the object or a parent has the FIXED property. [help]

So I used the "Unfix" command making sure that all the Object Filter were flagged on and obviously the component and all the parts I can see are unfixed.

I even tried to see with F4 or the "Property" command but the component is unfixed.

What can I do?

Thanks to all!

Viewing all 2130 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>