Re: Cell creation question
The hardware key number in your license file does not match the number of the key attached to the computer
I am trying to install PADS2005 spac1 on a Win7 64-bit computer. I get the following error when trying to install the license file "The hardware key number in your license file does not match the number of the key attached to the computer." Using lmutil hostid -flexid, I get the correct 9- number associated with my hardware key, so I think I have the correct drivers for the hardware key installed. I verified the license.txt file matches the same 9- number. Using lmtools 8.2a, the FLEXID under System settings is blank. I downloaded the Mentor License Utility 3.0.1 and using the Tools -> Get HostIDs shows the 9- number of the hardware key. Using the Tools-> Run lmtools, which runs lmtools 11.11.1.1, the FLEXID under system settings is the correct 9- number.
Does anyone have any ideas to get the license working? It seems like the Install License tool is unable to communicate with the hardware key.
Efficient method to update Capital Library connector wire fits cavity attributes
We want to update a large amount of Capital Library connector objects. Currently our wire fits cavity attributes are empty and we want to update that information.
Is there an efficient method to update the connector attributes at once rather than a user manually updating each connector object?
Thanks
Re: Is it possible to add sheets or hierarchical blocks by automation?
Here is a function which adds new sheets., It also adds the default sheet border, which in your case you may want to take out (the blok.insertborder() command):
Sub add_sheet()
Dim tmp1, tmp2 AsString
Dim blok As ViewDraw.Block
Dim sheets As ViewDraw.IStringList
view = app.ActiveView
tmp2 = view.document.fullname
tmp1 = tmp2.Substring(0, instr(tmp2, ".") - 1)
app.SchematicSheetDocuments.close()
sheets = app.SchematicSheetDocuments.GetAvailableSheets(tmp1)
If sheets IsNothingThen
msgbox("sheets not set to an object")
Exit Sub
EndIf
app.SchematicSheetDocuments.InsertSheet(tmp1, sheets.GetCount + 1)
app.SchematicSheetDocuments.close()
sheets = app.SchematicSheetDocuments.GetAvailableSheets(tmp1)
app.SchematicSheetDocuments.open(tmp1, sheets.GetItem(sheets.GetCount))
view = app.ActiveView
blok = app.ActiveView.Block
blok.insertborder()
view = app.ActiveView
End Sub
The function assumes you already have a schematic open with an existing sheet, and that you have acquired a reference to the viewdraw application (app) prior to executing the function.
Or you could just do it all on one sheet. Nothing says the parts have to be within a certain area of the sheet. There may be some maximum size, but it's large enough that for practical use you don't need to worry about it.
You can also add parts to the schematic sheet, with this command:
comp = blok.AddPartInstance(partition, device, symbol, x, y)
comp = the new component
blok = the schematic sheet block
partition = the library partition of the component symbol block
device = part number
symbol = symbol name
x,y = location to place the part on the sheet
Of course there is a lot more code needed to surround that command. I have done it by having the components in a text file, reading the file and handling each component one at a time, and doing the math to location the components so that they are not on top of each other.
And then you can add nets to the pins of the components if you want. This way you get both components and nets and an accurate netlist in your PCB design. In essence build a design from an existing spreadsheet or text files with the relevant data. Unorthodox, not pretty, but can get the job done.
Re: Grow/Shrink Rectangle
I always include the optional arguments when adding the shape by pointsarray:
shps.AddByPointsArray(pts, ptary, True, 0)
It doesn't seem like that should matter, but I've had success using it like that.
I also specify the oversize values with integers, as in:
mskout.Oversize(1, 0)
In your case it would be
mskout.Oversize(1, 1)
for square oversize type.
Other things:
- Do you have a reference to the MASKENGINEAUTOMATIONCONTROLLERLib? If not, you need to add one to your project references.
- I declare the mask engine like this (vb):
Public mskeng As MASKENGINEAUTOMATIONCONTROLLERLib.MaskEngine
but I see you are declaring it as type var. Not sure if it matters but worth a try to set it to the right data type.
I have used methods like this many times and had good luck with them. Once you get it right the mask engine is reliable and very powerful.
Re: Grow/Shrink Rectangle
Patrick thanks very much for the response. Adding the optional arguments for pointsarray is what fixed it for me. Its strange because the arguments added are the default values. I will keep this in mind going forward. Thanks again!
Re: Efficient method to update Capital Library connector wire fits cavity attributes
Hello Robert
Capital Library - Copy Component Details within the Components section of the Components Main Menu may be what you are after.
First set the Wire Fits Cavity Attribute on one connector, then select that connector within this menu and what you would like to copy from it.
Then seelct your target connectors in the Copy To section and that should bring your data across.
This assumes that all target connectors require the same information as your source connector part. You may need to make a few sources or change them. However, if every connector has completely different information then manual is the method to use.
Regards,
Pat
Why is my current layer "not routeable"?
Using PADS VX.0
I receive the following when attempting to route any net on my bottom layer: "Interactive Route: Current Layer (A) Bottom (4) is not routeable;". Any particular net that I can't route on the bottom layer can be routed on the top layer. I can't find the difference between layer definitions or a rule I shouldn't have set.
Regarding the attachments:
* "Layout-Layers Setup.png" shows that my top and bottom layers have a similar split/mixed definition.
* "Layout-Default Rules.png" shows that my bottom layer is in the layer biasing list, same as the top layer.
* "Layout-AN1 Rules.png" shows the AN1 net rules match the default settings. This net can be routed on the top layer but not the bottom.
* "Rule Values Report.txt" seems to show the same as above. [LAYER BIASING] includes the bottom layer.
Thoughts?
Re: Why is my current layer "not routeable"?
PADS Router > Layers > Electrical Layers > Right Click > Properties > Layers Tab > Checkbox
Being the first time I have seen this window, I would like to know how this setting could have been toggled in the PADS Logic / PADS Layout / xDxDesigner. Is there a reason behind why this isn't shown, or perhaps there is a button I missed, in the design rules report tool?
Re: DxDatabook: empty field replaced with 0R value
This also generate an unmatch condition when you perform a live verification. Even if the field is filled with 0R both in the dxdatabook table and component when it is annotated, the live verification marks this field in red. If you RMB and click remove condition for this field you can see the right component appear on the left pane of the live verification window
PADS DECAL PREVIEW ZOOM
Using OneDrive for \PADS Projects\ ?
Hi
Has anyone experience with placing the \PADS Projects\ directory on a OneDrive location?
I was wondering if there may be some compatibility issues because OneDrive is constantly synchronizing from the local to the cloud OneDrive directory.
regards Klaus
Re: COVER FREE AREA
Hi Vernon,
thanks for your explanation.
I have tried this line
$Lnew create layer 3
$Lnew create polygon cellname 3 (6567500 8367500) (6567500 -8367500) (-6567500 8367500) (-6567500 -8367500) (-2347500 -2847500) (-2347500 -3717500) (-2535500 -4447500) (-2335500 -5317500) (-2699500 -1167500) (-2699500 -5565500) (-6017500 -5565500) (-6557500 -865500) (6557500 8352500) (-6557500 8352500) (-6557500 -865500) (-6557500 -2847500) (-6557500 -3717500) (-6557500 -4447500) (-6557500 -5317500)
where I have put all vertex of the modules inserted into the layout but I received this errors message:
Error: layout9 create polygon MPW_SL: found an unknown layer = '3' or invalid polygon specification
while executing
"$Lnew create polygon ......................................................................
I have tried also the same line without open and close parenthesis, but the polygon generated is not what I need
Can You help me to understand this point?
Many thanks and regards
Luciano
Find and Replace with Wildcard or Regular Expression fails for Properties in Symbol Editor
Hi,
I'am using X-ENTP VX.2.
When I want to replace pin properties in symbol editor with wildcards it is not working for me. It is working for names only. Example:
Find what: ABC0*
Replace with: ABC1*
Input: ABC0_acb
What I want: ABC1_abc
What I get: ABC1*
Is this a bug or do I miss something?
Regards, Michael
Re: Efficient method to update Capital Library connector wire fits cavity attributes
We have a large amount of unique connectors. I am not sure if the copy component details capability is efficient enough for what we are looking for.
Is it possible to create a plugin using the API to update library parts? If we can find an efficient method to updating a large amount of library parts, it would be useful in populating other empty fields as well.
Re: Find and Replace with Wildcard or Regular Expression fails for Properties in Symbol Editor
It appears to be a bug. Depending on what you are trying to do there may be an alternative way of doing this. Are the property names/values unique?
Re: Find and Replace with Wildcard or Regular Expression fails for Properties in Symbol Editor
Yes, they are unique. I have tons of pins with the same prefix in both, pin name and number, and I want to copy them all and replace the prefix.
I can export pins, replace pin number in a spreadsheet editor and import pins again. But than I have to rearrange the pins agian. -> not a good solution
I have also considered to work with multiple slots and reuse the same symbol in the part (which would be the most elegant solution). But then the automatic pin mapping is not working and up to know I not found a way to import the pin mapping from a spreadsheed. -> not a good solution
Re: Find and Replace with Wildcard or Regular Expression fails for Properties in Symbol Editor
The simplest solution would be to use Add Properties. Select all the pins you want to change and reset the values with Add Properties configured to do so, in your example you'd set the Type to Pin and select whichever pin property you are changing, then Prefix=ABC Value=1 Delta=0 Suffix=_abc and click Apply.
Re: Efficient method to update Capital Library connector wire fits cavity attributes
Robert - we make this easier using wire groups which allow you to specify a collection of wire specifications that will be similar for the 'wire fits' relationship. However, you still need to apply this to all of the connectors.
If wire groups and Pat's suggestion of using copy component don't work for you then I have one more suggestion. We are trialling a new Excel import / export facility. If this sounds interesting for your problem then please contact your customer support person and we'll see if this might help.
Re: COVER FREE AREA
Hi Luciano,
It sounds like you want a layer that occupies all the space in your design not occupied by the current layers/cells in the design. I would do a NOT operation in this case ($L NOT). Here's an example script.
#create new layout
set ll [layout create]
#create new topcell
$ll create cell newCell
#create layers in cell
$ll create layer 3
$ll create layer 4
$ll create layer 50
#create some random shapes on 1 layer (3)
$ll create polygon newCell 3 10 10 100 100
$ll create polygon newCell 3 120 200 200 100
$ll create polygon newCell 3 140 50 300 10
#get the bounding box of the entire cell
set cellCoords [$ll bbox newCell]
#create a new layer the same size as the bounding box
eval $ll create polygon newCell 4 $cellCoords
#Perform a NOT between the random shapes and the blanket layer to get the difference layer on 50
$ll NOT 4 3 50
#create the GDS
$ll gdsout output.gds
matt