Hi
Problem is solved, please disregard this message
Best regards
Ole
Hi
Problem is solved, please disregard this message
Best regards
Ole
I'm looking for a way in Skill to extract the setup information for artworks and drill files. Cadence sets the default values of art (ext_artwork) and drl (ext_drill). I've written a program to setup the artwork table in the Allegro file but since we use the Cadence default values and or sister company uses different values I would like to know how to extract the values directly from the database.
Hopefully somebody knows how and can point me in the right direction.
Many thanks in advance!
Hi
I'm working on a small skill program that should only be available during "add connect", but I've not figured out a way to get the active command in skill
Using axlGetCmdSupplementalData() will show "add connect" as the command using pre-selection mode, but if the user selects
Route->Connect then it will return nil as the command. This is also in alignment with the description for axlGetCmdSupplementalData()
But does anyone know if there's a way to get the name of the active command?
Best regards
Ole
I have been looking at the program "film_reorder.il" (available at cadence.com) and have found it useful but would like to make a small modification to it. After you have selected a layer to be moved (up or down) in the list you have to re-select it if you want to move it more than one position. Does anyone know of a way to modify this program so the selected layer stays selected until another layer is selected? I would like to just click the up/down arrow X times until it is moved into the correct position without having to keep re-selecting the layer.
Thanks!
Hi !
I want to get some atrtibute of refdes, such as rotation, xy, textBlock , isMirrored ( ex: refdes-> rotation), but i don't find any function to do that. there is only Text Attribute. How can i do it? Please help me?
Tks.
Luan.
given image above,
I would like to check both segments (maroon/orange line could be in any slope value) which are parallel to each other if they intersect.
dashed lines are the perpendicular lines of the maroon or of the orange line (my plan is to use these to get the intersections) .
The problem now is, how can i get the points of the perpendicular lines.
Im welcome for other suggestions.
Doing some simple move dynamics and would like to rotate the objects and would like to set the angle increment to 5 degrees. I'm using the command (axlSetRotateIncrement ?angular 5) and it does not appear to be working. Any help would be appreciated.
Vince
Hi,
I am trying to modify the ns_gerber.il to add some extra layers to the conductor films. My if-then statements seem to work ok for the TOP and BOTTOM layers but I cannot get the inner layers to work. If you look at the commented out lines in the code below you can see my various attempts using else, != and using layer names directly. Any help telling me where I am going wrong greatly appreciated.
Jim O'Mahony
; get conductor layers
my_layers = axlGetParam("paramLayerGroup:etch")
etchcount = 0
i = 0
foreach(layer my_layers->groupMembers
layerparams = axlLayerGet(strcat("ETCH/" layer))
if(layerparams->type=="PLANE" && layerparams->drcPhotoType=="negative" then
pm = 0 ; plot mode negative
else
pm = 1 ; plot mode positive
)
if(layer=="TOP" then tex = strcat("Texttop")
else tex=strcat("Text" layer))
;if(layer=="L1" then tex = strcat("Text" layer))
;if(layer=="L2" then tex = strcat("Text" layer))
;if(layer!="TOP" then tex = strcat("Text" layer)
if(layer=="BOTTOM" then tex = strcat("Textbot"))
sprintf(film_name "%d_%s" ++i layer)
ld1 = strcat("VIA CLASS/" layer)
ld2 = strcat("PIN/" layer)
ld3 = strcat("ETCH/" layer)
tc = strcat("BOARD GEOMETRY/TOOLING_CORNERS")
texlayer = strcat("BOARD GEOMETRY/" tex)
data_list = (list ld1 ld2 ld3 tc texlayer)
param_list = (list 0 0 0 ulw sbb pm 0 0 0 0 0 1 1)
(axlfcreate film_name param_list data_list)
++etchcount)
I just recently upgraded to 16.6 and found the logomaker software in my directory. I cannot seem to get the function working. My settings are:
LFC_PATH = C:\Cadence\setup\LEADCMD
POTRACE_PATH = C:\Cadence\setup\potrace-1.8.win32-i386
PATH = C:\Cadence\SPB_16.6\tools\bin
envpath = C:/Documents and Settings/Mario_c/pcbenv C:/Cadence/SPB_16.6/share/pcb/text
allegro_pcbenv = C:\Documents and Settings\Mario_c\pcbenv
logoMaker_public.il is located at C:\Cadence\setup\skill
allegro.ilinit is located at C:/Documents and Settings/Mario_c/pcbenv
Any thoughts would be appreciated
Hi
i have found following code on http://www.referencedesigner.com/tutorials/allegro/allegro_skill_76.php
Is it possible to read the les4.form from the advanceform.il file?
Thanks for your help
Jürgen
axlCmdRegister( "advanceform" `advanceform)
; -----------------------------------------------------------------
procedure( advanceform()
les4_form = axlFormCreate( (gensym) "les4.form" nil 'les4_form_Action t)
axlFormDisplay(les4_form)
); end of procedure
; -----------------------------------------------------------------
procedure( les4_form_Action(les4_form)
case( les4_form->curField
("Close_button"
axlFormClose( les4_form )
axlCancelEnterFun( )
); --------------------------
("Run_button"
les4_form_run()
); --------------------------
); end case
); end of procedure
; -----------------------------------------------------------------
procedure( les4_form_run()
; Create output file to write report
cl_file = outfile("check_list.rpt" "w")
; ------ Print Header
fprintf(cl_file "**********************\n")
fprintf(cl_file " Check List Report\n")
fprintf(cl_file "**********************\n\n")
axlUIWPrint(les4_form getCurrentTime())
; ------ Print CurrentTime
fprintf(cl_file "CurrentTime : %s \n" getCurrentTime())
; ------ Print Designer Name
fprintf(cl_file "PCB Designer Name : %s \n" axlFormGetField( les4_form "name"))
; ------ Print Design Name
fprintf(cl_file "Design Name : %s \n" axlCurrentDesign())
; ------ Print value of check box
if( axlFormGetField(les4_form "check1") then check = "YES" else check = "NO" ); end if
fprintf(cl_file "Do you check DRC? : %s \n" check)
; ------ Print value of popup
fprintf(cl_file "Exist SMD in this project : %s \n" axlFormGetField( les4_form "pop1"))
; ------ Print value of slidebar
fprintf(cl_file "Layers number : %d \n" axlFormGetField( les4_form "slidebar1"))
; ------ Print value of group
if( axlFormGetField(les4_form "both") then
silk_side = "Both"
else
if( axlFormGetField(les4_form "top") then silk_side = "Top" else silk_side = "Bottom" ); end if
); end if
fprintf(cl_file "Silk exist on : %s \n" silk_side)
; ------
close(cl_file)
); end of procedure
; -----------------------------------------------------------------
FILE_TYPE=FORM_DEFN VERSION=2
FORM
FIXED
PORT 40 40
HEADER "Check List Report"
#=== must define popup before using
POPUP "Yes" "Yes" , "No" "No" .
TILE
#========== using STRFILLIN
TEXT "PCB Designer Name"
FLOC 1 1
ENDTEXT
FIELD name
FLOC 20 1
STRFILLIN 15 20
ENDFIELD
#========== using CHECKLIST
TEXT "Do you checked DRC?"
FLOC 1 5
ENDTEXT
FIELD check1
FLOC 20 5
CHECKLIST "Yes"
ENDFIELD
#========== using POPUP
TEXT "Exist SMD in this project"
FLOC 1 10
ENDTEXT
FIELD pop1
FLOC 20 10
ENUMSET 6
POP "pop1"
ENDFIELD
#========== using INTSLIDEBAR
TEXT "Layers number"
FLOC 1 15
ENDTEXT
FIELD slidebar1
FLOC 20 15
INTSLIDEBAR 2 2
MIN 2
MAX 30
ENDFIELD
#========== using GROUP
TEXT "Silk exist on"
FLOC 1 20
ENDTEXT
GROUP ""
GLOC 18 18
GSIZE 22 5
ENDGROUP
FIELD top
FLOC 19 20
CHECKLIST"Top" "grp"
ENDFIELD
FIELD bottom
FLOC 25 20
CHECKLIST "Bottom" "grp"
ENDFIELD
FIELD both
FLOC 33 20
CHECKLIST "Both" "grp"
ENDFIELD
#========== using MENUBUTTON
FIELD Run_button
FLOC 2 27
MENUBUTTON "Run" 7 3
ENDFIELD
FIELD Close_button
FLOC 11 27
MENUBUTTON "Close" 7 3
ENDFIELD
#======================
ENDTILE
ENDFORM
Hi all!
I'm trying to write a code to check fillet , but I don't know how to know if a shape is "fillet shape". My version is 16.3( in this, when i show element fillet shape => "Shape is fillet"). Pls help me ?
thanks
Luan.
Hi All:
Hopefully Dave Elder reads this ?
I am running Allegro 16.5 S018 and tried to run the autosilkUtils.il SKILL script.
Everything seems to work except it does not put the DRCs into the walker popup window.
Hopefully someone can fix this ?
This is a great tool
Thanks,
Les
Hi,
Is there any function to browse files to a particular fixed location like "C:\Pawan\Temp"?
I am using a combination of changeWorkingDir and axlDMFileBrowse function but not able to do so properly
-Pawan
Hi,
I encountered a problem on converting shape type to dynamic using axlShapeChangeDynamicType.
the code looks somthing like this:
shape = axlDBCreateRectangle(list(0:0 100:100), t, "etch/pwr01" nil )
axlShapeChangeDynamicType(car(shape) t t)
When I input the following, static shape is created but when i try to change it to dynamic type it returns nil and the shape is not changed to dynamic. I tried using the same code to other shape(other than rectangular) but it works well.
Hi,
I would like to know the difference in between these two statements
'(1 2)
list(1 2)
I tried to run the attached listOp.il file and it showed some unexpected behavior for me.
Thanks,
Pawan
Hi all
Is there any way by which we can have "Design cross section Report" in Allegro 16.3 PCB editor?
Regards
Nayyier