Quantcast
Channel: Mentor Graphics Communities : Discussion List - All Communities
Viewing all 2158 articles
Browse latest View live

DxDesigner Rename Net Names

$
0
0

I would like to Rename all Nets in a DxDesigner Design no matter if the net already has a name or not. For this, I have gone the way as mostly described here but it does not work reliably and does not rename empty nets.

The way I am trying to do this is:

- Get every Part using a query:

  1. ViewDraw.IVdObjs part = dxdApp.Query(ViewDraw.VdObjectTypeMask.VDM_COMP, ViewDraw.VdAllOrSelected.VD_ALL);

- Get each component out of the query:

for (int i = 1; i <= part.Count; i++)

{

comp = part.Item(i);

 

- Get Reference Designator from part and compare it with the part I am looking the net up

if (comp.Refdes == netArrayEntries.refDes)

{

 

- Get connections

conn = comp.GetConnections();

 

- Compare pin number from every connection with the pin number I am looking for:

for (int j = 1; j <= conn.Count; j++)

{

if (conn.Item(j).CompPin.Number == netArrayEntries.cmpPin) // Compare component pin number with looked up pin number

{

 

- Get Net from the connection item

net = conn.Item(j).Net;

 

- Set new net for the first segment of the net

for (int k = 1;k < 2; k++)

{

segment = net.GetSegments().Item(k);

 

- Set

net.GetLabel(segment).Selected = true;

net.GetLabel(segment).Visible = ViewDraw.VdLabelVisibility.VDLABELVISIBLE;    

                                        netLabel = net.GetConnectedLabel(segment);

netLabel.TextString = netArrayEntries.newNetName;

 

As mentioned already, it does rename some nets, it doesn't on other. It works fairly slow and throws an exception on empty net names. It does not seem right to me, that I am getting dozens of segments, but renaming one does the job. Honestly, I assume there must be an easier way to accomplish what I've been looking for.

As you may figure, this is written in C#, glad though for any examples in VB/VBS or hints that may lead to a proper solution.

 

Please see the complete source code of the rename method below:

 

    private void alterNetnameWithComponentInput(netStruct netArrayEntries)         {               IVdComp comp;             IVdObjs conn;             IVdNet net;             IVdSegment segment;             IVdLabel netLabel;                 if ((netArrayEntries.newNetName == null) || (netArrayEntries.cmpPin == null) || (netArrayEntries.refDes == null))             {                 return;             }               ViewDraw.IVdObjs part = dxdApp.Query(ViewDraw.VdObjectTypeMask.VDM_COMP, ViewDraw.VdAllOrSelected.VD_ALL);      //Query all Components                 for (int i = 1; i <= part.Count; i++)             {                 comp = part.Item(i);                                   if (comp.Refdes == netArrayEntries.refDes)                 {                     //Console.WriteLine("Komponente " + comp.Refdes);                     AppendTextBox("Component " + comp.Refdes + "\n");                     outputFileNets.WriteLine("Component " + comp.Refdes + "\n");                     conn = comp.GetConnections();                                                                           // Get connections associated with component                       for (int j = 1; j <= conn.Count; j++)                     {                         if (conn.Item(j).CompPin.Number == netArrayEntries.cmpPin)                                          // Compare component pin number with looked up pin number                         {                             //Console.WriteLine("Pin Nummer " + conn.Item(j).CompPin.Number);                             AppendTextBox("Pin " + conn.Item(j).CompPin.Number + "\n");                             outputFileNets.WriteLine("Pin " + conn.Item(j).CompPin.Number + "\n");                             net = conn.Item(j).Net;                                                          //for (int k = 1; k < net.GetSegments().Count; k++)                                 for (int k = 1;k < 2; k++)                                 {                                     segment = net.GetSegments().Item(k);                                 try                                 {                                     AppendTextBox("Segment " + net.GetLabel(segment).TextString + "\n");                                     outputFileNets.WriteLine("Segment " + net.GetLabel(segment).TextString + "\n");                                 }                                 catch (Exception ex)                                 {                                     AppendTextBox("Empty Netsegment" + "\n");                                     outputFileNets.WriteLine("Empty Netsegment" + "\n");                                 }                                     try                                 {                                     //Console.WriteLine("Segment " + net.GetLabel(segment).TextString);                                     //net.GetLabel(segment).TextString = "NAME=" + netArrayEntries.newNetName;                                     //if (net.GetLabel(segment) == null)                                        -------CHANGED                                         //if (net.GetConnectedLabel(segment) == null)                                     //{                                         //net.AddLabel(segment, "Name=" + netArrayEntries.newNetName, 100, 100);                                         //net.AddAttribute(segment, "Name", 100, 100, VdVisibilityFlag.VDINVISIBLE);                                         //net.GetLabel(segment).TextString = netArrayEntries.newNetName;                                       //}                                     //else                                     //{                                         //Alternate Version                                          AppendTextBox("Renaming ID" + net.Id.ToString() + " from  " + net.GetLabel(segment).TextString + " to  " + netArrayEntries.newNetName + "\n");                                          net.GetLabel(segment).Selected = true;                                          net.GetLabel(segment).Visible = ViewDraw.VdLabelVisibility.VDLABELVISIBLE;                                              netLabel = net.GetConnectedLabel(segment);                                          netLabel.TextString = netArrayEntries.newNetName;                                           //net.GetLabel(segment).TextString = netArrayEntries.newNetName;                                         net.GetLabel(segment).Visible = ViewDraw.VdLabelVisibility.VDLABELINVISIBLE;                                     //}                                                                                                               AppendTextBox("Replacing Net with " + netArrayEntries.newNetName + "\n");                                     outputFileNets.WriteLine("Replacing Net with " + netArrayEntries.newNetName + "\n");                                     // Netz muss bereits Name haben, dann klappt es                                 }                                 catch (Exception ex)                                 {                                     Console.WriteLine(ex.ToString());                                     AppendTextBox("Error Replacing Net Segment name" + "\n");                                     outputFileNets.WriteLine("Error Replacing Net Segment name" + "\n");                                 }                                 AppendTextBox("DONE-------------------------------------" + "\n");                                 outputFileNets.WriteLine("DONE-------------------------------------" + "\n");                             }                         }                     }                 }             }         }

 

Thanks

Martin


Merge Profiles on Communities/Ideas

$
0
0

Since the profile on Communities/Ideas is locked to an e-mail address I get a new profile if I change employer.
It would be great if it was possible to merge with my old user profiles.

Cross-probing from Layout to Schematic stopped working

$
0
0

Recently the cross-probing from Layout to Schematic stopped working. Schematic-to-Layout still works fine. I don't see a setting anywhere that got turned off. Is there something I can check or do I need to do a re-install? Thanks in advance -

Dan

what is the different between PADS 9.4 vs PADS 9.5 ??

$
0
0

Hi everyone,

I have some clarification about version between PADS 9.4 vs PADS 9.5. ???

please suggest anyone..!

How to increase the working design are size

$
0
0

hi,

 

can any one suggest a solution to increase the working design size.

 

Thanks;

Krish

Wire Style Set

$
0
0

Hello,

I am trying to define a style set for the wire showing (WIre ID)(Color)(CSA) on top of the wire, but I cannot seem to find where in the style set can I make this change. TO get a better idea of what I am trying to achieve see below.

 

 

Any advise much appreciated!

 

 

Vishal

Visual IBIS Editor not editing

$
0
0

My Hyperlynx seat is fully functional, no problem, but when I open IBIS files in the editor I do not get to change them in the graphical editor.  The "editing" function is greyed out even though I have enabled it everywhere it seems possible to do so.

If anyone has a suggestion I would appreciate hearing it.

Thanks very much

Use of project properties to control Severity and Availability for a custom DRC

$
0
0

Our intention is to create project properties which will allow us to control Severity and Availability for a custom DRC. The DRC is made for Capital Integrator.

 

There are different sets for DRC check:

Severity - Warning / Error / Information

Avaliability - On (YES) / Off (NO)

 

For example, ones we use properties as follow:

Where first property is for avaliability and YES means

 

Where second property is for severity and INFO means

 

We expect to see custom DRC as it is defined in the project properties. When we change properties into YES and ERROR we should see:

The question is if it is possible to use properties from particular project as a initial set for custom DRC check? (Tools/Design Rule Checks…)


Can you load older Pads-Layout & Pads-Logic designs into DX Designer?

$
0
0

I've haven't used Dx Designer before. Can you link/load older V9.5 files from Pads-Logic and Pads-Layout into Dx Designer to make changes?

 

Fred

What is the max size of a document attachment?

$
0
0

What is the max size of a document attachment? can it be changed for a specific document to enable a 13MB file?

pads vx.2 customize visual style setup can't save.

$
0
0

Tools--Customize--Options Visual Style,Select Office Microsoft 2007 Aqua Blue Black Silver of these options, restart the software will automatically become Office Microsoft 2003!

Is this bug?

pic1.jpg

 

Composite table, Wire table & Revision table not visible after applying style set

$
0
0

Hello,

composite table, Wire table & Revision table is not appearing even after applying style set, please guide me as how can i make it visible, what is the matter why its not showing after applying style set?

 

Regards,

Neelu Sharma.

Error - Pin count in a cell is different than in the referencing part

$
0
0

I imported an Altium project to Xpedition xDX Design. Both schematic and layout were imported correctly. However, i am having trouble to import parts into central libraries. In Altium, the pin count in symbol doesn't need to match pin count in footprint. One example, there are four mounting pins in a USB connector and you don't need to add those mounting pins into symbols. When i imported this kind of components into central libraries, i always received this error.

2016-09-09 16_00_44-Library Services.png

Here is what i tried to fix it.

  1. Deleted these parts from central libraries.
  2. Modified the symbol (added mounting pins)
  3. Still failed to copy original cell from PCB project to central libraries.

 

Any thoughts?

 

Thanks.

Pads vx.2 Drag the Pour Manager window edge will....

$
0
0

Pads VX.2  win10

Drag the Pour Manager window edge to change the size of the window, the window will be strange to move.

Does your software have a basic test in the interior before it is released?

1.jpg

ddrx batch simulation VS normal simulation

$
0
0

I simulate keeping the same ibis file same model driver strength in ddrx batch simulation and normal simulation for a adress pin DDR2 interface.

Can i know why i am getting two different type of simulation results.which one would be considerable ?


DxDesigner: Resistor array created as hetero gates gets different REFDES assigned

$
0
0

Hello,

 

I have a resistor array part.  To make it easier to draw the schematic, I split up the array into separate resistor gates using the HETERO/fracture procedure in symbol wizard.

 

However, now when I let DxDesigner assign the reference designator, each of those resistors gets it's own reference designator..e.g. R1, R2, R3, R4...whereas I would like those resistors to be called R1 as in reality only one part (array) exists in the BOM.  Ideally, these would be R1A, R1B, R1C, etc but my understanding is that DxDesigner cannot assign suffixes to multiple fractures, so I wish the array have reference designator assigned similar to ICs.

 

Each resistor has the DEVICE property as: RES_ARRAY_10_1

and HETERO property as:  (RES_ARRAY_10_1),(RES_ARRAY_10_2),(RES_ARRAY_10_3),(RES_ARRAY_10_4),(RES_ARRAY_10_5),(RES_ARRAY_10_6),(RES_ARRAY_10_7),(RES_ARRAY_10_8),(RES_ARRAY_10_9),(RES_ARRAY_10_10)

 

Any idea if DxDesigner should be doing this or if there is a way around it?

 

Thanks

 

Rahul

How to make a grouped BOM

$
0
0

Is it possible to make a grouped BOM from Part Lister in DX Designer? I assume it would be possible to group the BOM on for example Product Number but how do I set up Part Lister for that?

 

BR,

Johan

PROBLEM DURING MERGING GDS FILES

$
0
0

    Hello,

 

I used this tcl script on command line

 

calibredrv  myfile.tcl

 

to merge 3 different gds files.

 

The output gds file, has been created with correct hierarchy but empty layout.

 

What is it wrong in my tcl scritp??

 

   Many thanks

 

         Ciao

 

       Luciano

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# Load file.gds

 

set Lone [layout create file1.gds -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision [expr int (1/([$Lone units]))]

$Lone units microns $precision

array set peekdata [layout peek file1.gds -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

set Ltwo [layout create file2.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision2 [expr int (1/([$Ltwo units]))]

$Ltwo units microns $precision2

array set peekdata [layout peek file2.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

set Lthre [layout create file3.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision3 [expr int (1/([$Lthre units]))]

$Lthre units microns $precision3

array set peekdata [layout peek file3.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

# Create empty cell

set Lnew [layout create]

 

# Create new topcell

$Lnew create cell TOP

 

# Copy patterns on new layout

$Lnew create cell ONE $Lone [$Lone topcell]

$Lnew create cell TWO $Ltwo [$Ltwo topcell]

$Lnew create cell THRE $Lthre [$Lthre topcell]

 

# Place cell reference on new layout

$Lnew create ref TOP ONE 0 -3743.5 0 0 1

$Lnew create ref TOP TWO 4358.5 -3366.5 0 0 1

$Lnew create ref TOP THRE -4546.5 -3282.5 0 0 1

$Lnew units microns $precision

 

# Create final gds file

$Lnew gdsout test.gds.gz TOP

array set peekdata [layout peek test.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

xDX zoom to area with VB.NET

$
0
0

This seems like it should be easy to do... I do not see any support or examples to zoom to an area on a sheet in the active view. We have View > Zoom Area, and Strokes that work well interactively. I have used ZoomSelect, but it seems to be inconsistent on components.

 

Maybe I have missed something in the Communities or xDX documentation?

Has anyone done this consistently xDX?

How to do the pin mapping for the chips with large number pins?

$
0
0

Hi All,

 

I am using Pads Pro to design a project. I designed the symbol and cell with the editors. Now I am trying to connect them together with the part editor. But now it seems like I need to fill all the pin numbers in the Pin Mapping. The pin numbers actually already existed in the symbol, why the part editor and the pin mapping can't recognize them themselves? Are there some easy ways to do this? I am new to the Pads Pro.

Appreciate any help in advance.

Thanks.

Jason

Viewing all 2158 articles
Browse latest View live