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

trigonometric functions - move point on circle circumference

$
0
0
Dear All,

 

I am trying to move a point in circular rotation with an incremental angle about the origin with a constant radius value as input..

 

procedure( circlerotation()

theta = evalstring(axlUIPrompt("Enter theta" "100"))

rad = evalstring(axlUIPrompt("Enter circle radius in mils" "100"))

N = evalstring(axlUIPrompt("Enter number of points # i.e. rotation increments" "10"))

oldx = rad

oldy = 0

i = 0

printf("%L coordinates X%L  Y%L : %L %L rotation %L\n" i i i oldx oldy  theta*i )

for( i 1 N-1

 

Newx = oldx * cos(theta) - oldy * sin(theta)

Newy = oldy * cos(theta) + oldx * sin(theta)

oldx = Newx

oldy = Newy

printf("%L coordinates X%L  Y%L : %L %L rotation %L\n" i i i Newx Newy  theta*i )

 

++i

)

)

 

With theta as 36 and radius as 100, N as 10 I get the below coordinates the output is as below.

 

theta value : 36:

0 coordinates X0  Y0 : 100 0 rotation 0

1 coordinates X1  Y1 : -12.79637 -99.17789 rotation 36

2 coordinates X2  Y2 : -96.72506 25.38234 rotation 72

3 coordinates X3  Y3 : 37.55096 92.68185 rotation 108

4 coordinates X4  Y4 : 87.11474 -49.10216 rotation 144

5 coordinates X5  Y5 : -59.84601 -80.11526 rotation 180

6 coordinates X6  Y6 : -71.79851 69.60585 rotation 216

7 coordinates X7  Y7 : 78.22121 62.30122 rotation 252

8 coordinates X8  Y8 : 51.77956 -85.55044 rotation 288

9 coordinates X9  Y9 : -91.47302 -40.40652 rotation 324

 

Questions: What units are used for angle radians/degree?

I observed the points are not plotted incrementally along the circle circumference in clockwise or in anticlockwise. How to move points incrementally in clockwise/anticlockwise.

 

Any help would be appreciated.

 

Thanks,

Nagaraj.

Nearest Neighbor Problem

$
0
0

Hi

I am trying to implement the nearest neighbor problem in skill, can anyone help me with some examples and tutorials?

basically i am tryint to get the closest point in a list of points for a given x,y

I am using sortcar to do this but it is very slow since there is a huge amount of calculation goes on

So I would like to use any NNP algorithm and would like some pointers,

 regards

Venkata

getting string from stdin or piport??

$
0
0

when I use "getc()" a new screen appears waiting for the user to type a character (I think this is the stdin) and that way a can get a character in my variable. But what should I do to get a string from the same input?? I'm trying using fscanf( inPort "%s" toing) and  gets( toing inPort )  but I don't know what sould i put instead of "inPort". The manual says that it should work if I just put nothing, but if I do so, my variable "toing" it's only showing a couple of double quotes no matter what I type.

so what am I doing wrong??

Thanks 

PCB Service Company

$
0
0

Introduction:

Qmax Systems is an industry leader in high quality PCB Design and turnkey electronic engineering offering the very best service at competitive prices. With our resources and experience, we have what it takes to meet your project needs from concept to production and also be your complete electronic engineering partner no matter how large or small your project is. 

Qmax is an industry leader in high quality PCB Design and turnkey electronic engineering offering the very best service at competitive prices. With our resources and experience, we have what it takes to meet your project needs from concept to production and also be your complete electronic engineering partner no matter how large or small your project is. 

Services:

PCB Design Services

PCB Layout Design

PCB Training

Schematic Entry 

PCB Consulting 

E-Mail:

sales@qmaxsys.com 

Website:

www.qmaxsys.com 

Keywords:

PCB Design Services

PCB Layout Services

PCP Layout Design

PCB Design Training

HDI PCB Design Sevices

RF PCB Design

Analog PCB Design

High speed PCB Design

High speed Digital PCB Design

High speed PCB Layout

Digital PCB Design

Mixed Signal PCB Design

PCB designs

 Auto routing for dense PCB designs

Schematic to layout conversion

Mentor Graphics

Component Library Creation

Landpattern creation

Signal Integrity Analysis

Cadence Allegro

PADS design

PCB design Quote

PCB Layout quote

flex PCB design

Rigid flex PCB Design

Schematic entry

PCB Routing ,

printed circuit board

gerber creation

PCb Design

PCB Design outsourcing

PCB Layout Outsourcing

Clear silkscreen from pins in Allegro Package

$
0
0

 Does anyone have some SKILL code that will clear silkscreen lines back x distance from pins, either as a group or individually?  I want to use this during footprint building.  Currently I have to use delete and cut to remove pieces of lines that run through pads.

automatic silkscreen

$
0
0
is it possible to do silkscreen cleanup automatically. is there any skill or script for that?

I create a "grid change" program.

$
0
0
I create a "grid change" program.
Rate please.

Opening a PDF file with Skill

$
0
0

Is there a way to open a PDF file from skill? (I am using windows XP)

In my Skill Program, I want to link layout notes (PDF) for certain components. That way I'll be able to know which parts need special attention.

 

 


Create shape from one shape with an offset

$
0
0

Hi all,

 I would like to know if it is possible to create a shape from the outline with an offset (smaller than) the outline. 

 

I Have a special shape as outline and I would like to have the place keepin shape the same as the outline but with the 50 mils clearence.

 I have 16.3

regards

Jonathan 

Can i get the skill file to rotate the footprint...?

$
0
0

Footprint rotaionHello,

 Is there any skill file to rotate the footprint with respect to the origin...?

I can able to select and rotate every shape and lines but coming to pins (as per row and coloumn wise) i was unable to rotate so, i need to create the footprint again...:(

It will be so much helpfull if i get the skill file to rotate the footprint.

 Thanks & Regards,

Suresh annam 

 

 

continuously tracking a point co-ordinate

$
0
0

Hi All, I got an Algo problem here.

I want to draw a straight line.

while waiting for user's input of 2nd point with :

2nd_point = axlEnterPoint(?prompts ...) , I want to capture the cursor position and draw the line 

first for user to preview, with axlPathStart and axlDBCreatePath...

then until user confirm and click.

how shall i go around with this?

such that the while loop can continuously axlCursorGet(nil)  (so that can draw the line first)

while it is hung @  2nd_point = axlEnterPoint(?prompts ...). Thx in advance~ 

 

How to capture minimum spacing?

$
0
0

I need to find the absolute minimum spacing defined in the Constraint Manager. This includes the CSets and any number manually entered in the CM, Region rules, Class/Class, etc. 

I see the function axlCNSGetSpacing will retrieve the values of your various CSets, but smaller numbers can be manually entered (i.e. not defined by a CSet) or set manually under region or class/class rules. Is there a way to derive this rock-bottom spacing value?

I tried to get that info via axlCnsTableSeek, but it doesn't seem to work period. 

 

Thanks in advance,

Douglas Stanley 

Conversion from allegro to Pads

$
0
0

Hi all,

  Kindly let me know is there any possibilty to convert  allegro to pads.

  If so kindly briefly explain the procedure in step by step.

Regards,

K.Kaviyarasu

Renumber pads

$
0
0

Hi

When I am building footprint (dra format) .

Is there skill that renumbers pads that already placed ,by clicking on the pads ?

 

Allegro.exe command line

$
0
0

Hello Experts

I have build a VB program that builds a schematic and board file based on some user inputs. I am seeing a problem during the board build section. I am using the command line interface to open a blank Allegro board file and run a script which runs a SKILL file that builds up a complete board. The problem I am seeing is that the build of the board is sometimes very slow. If I open Allegro seperatly, run the script with the File -> Script command the program runs much faster. I have looked online and there are mentions of memory issues with command lines.

Has anyone else seen this problem or does anyone know of a faster way to open a board file and build it up with a SKILL program.

Regards

Peter


Read drill tolerance and DEFAULT_INTERNAL pad(s) from padstack

$
0
0

I'm trying to get both the associated hole tolerance from a padstack definition and the defined "DEFAULT INTERNAL" pad(s) using the Allegro SKILL api.

I am able to extract all other portions of the padstack definition except for these two pieces of information. I have tried iterating over the "pads" property of the padstack but the "DEFAULT INTERNAL" pads are mysteriously absent. Similarly, axlDBGetPad is not able to retrieve the pads (as far as I can tell). There are definitely default internal pads defined for the padstacks.

For the drill tolerance I can't seem to find anything about how to retrieve the tolerance values in the documentation. All other drill properties (drillOffset, drillDiameter, etc.) are associated with the padstack definition object and are perfectly readable, but the hole tolerance is mysteriously missing.

I've scoured the Allegro SKILL documentation but can't seem to find any information on these issues. 

Any help or advice would be appreciated. Thank you. 

I'm using Allegro 16.3

How to use axlAirGap() between two clinesegs in different layers

$
0
0

I want to get the minimum airgap between two clinesegs( line to line or arc to arc ) with command axlAirGap(), these segs were in different layers. Sometime it can return the airgap data, but sime time, it returns  "nil". 

 

How to use axlAirGap() to get minimum spacing between two cline segments

$
0
0

Hi Sir,

 I want to get the minimum spacing between two clinesegs(line to line or arc to arc), which were in different layers, such as one segment was in ETCH/layer_3 and the other was in ETCH/layer4. When I used the command axlAirGap(), sometimes it could return the airgap data, but sometimes it returned nil.

Thanks

Bessy

Length of net !

$
0
0

 Hi all!

 I'm trying to get length of a list of nets by using  axlDBGetLength(o_dbid) but not successfull. Here my code:

 ..............

 foreach(net, netlist  
a1=axlSelectByName("NET", net)
length=axlDBGetLength(a1)
fprintf(writeOutFile, "%s%d\n", net, length)
); end foreach net 

.....................

i have received error :  W- *WARNING* (axlDBGetLength): Invalid database id argument - (dbid:230582128)

  Who can help me fix this error?

Thanks!

Luan.

 

 

Autorun function on Allegro start

$
0
0

Hi All,

Can somone explain to me how can I run my SKILL function on Allegro PCB

On tool start up. Calling the function from allegro.ilinit can't be performed.

 

Thank You in advance,

Kadar 

Viewing all 2130 articles
Browse latest View live


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