Print Page | Close Window

Create Footprint Window

Printed From: PCB Libraries Forum
Category: PCB Footprint Expert
Forum Name: Product Suggestions
Forum Description: request new features
URL: https://www.PCBLibraries.com/forum/forum_posts.asp?TID=1453
Printed Date: 12 Oct 2024 at 9:18pm


Topic: Create Footprint Window
Posted By: Todd Manning
Subject: Create Footprint Window
Date Posted: 21 Oct 2014 at 8:29pm
Hi,

I have a couple of suggestions for the "Create Footprint" window when you build a part.

1. The "Decal Name" and "Part Type Name" fields are automatically filled with the default footprint name from the library. I customise my footprint names which means I also have to manually change them in the "Create Footprint" window as well. It would be nice if it took the actual name from the library and not use the default as generated by the program.

2. Where you select the layers to which the masks and outlines are translated to it would also be nice to have a check box for each layer to select if they are translated at all. I don't use the 3D Model Outline layer so I have to manually delete it from the footprint after it has been translated.

Although it's not difficult for me to manually make these changes as I go, I think these would be nice features to add.

Regards
Todd



Replies:
Posted By: Tom H
Date Posted: 22 Oct 2014 at 8:20am

1. When you create a new part and import it into your personal FPX file you can edit and change the name to whatever name you want. But for the Calculator to recognize the new Footprint Name you created, you must reopen the part by selecting the "Footprint" icon or double click in any cell.

Also, there is a new feature in V2015 that allows the user to use the mfr. "Part Number" column as the Part Type. And it allows you to only create "Decal" or only create "Part Type" or both. Several different options are now available.

2. You never have to manually delete anything. If you don't want a drafting outline, change the value to 0 (zero) and the Library Expert will turn off that outline. Also, when you set up all your layers, folders and settings, make sure that you select the "Save Entries as Preferences" so that they are permanently set up.

Please tell us anything that we missed, so that all the features you want are in the program.




-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn


Posted By: Todd Manning
Date Posted: 22 Oct 2014 at 6:51pm
Hi Tom,

Thanks for your response.

1. That seems to work for the default environment but if you then change the environment then hit the "Build Part" button the name reverts back to the default.

2. If I set my "Assembly Outline" and "3D Model Outline" to 0 they come out on the top overlay after I import them into Altium.

Thanks
Todd


Posted By: Tom H
Date Posted: 23 Oct 2014 at 8:15am

Todd... is it possible to do a webcast so I can see what you are doing? I know that this is 100% user error and we need to teach you how to use the User and Default Preferences to achieve the results you need.

Just send me an email with a day and time that is good for you for a quick webcast.

All of our customers have Free unlimited training and we wish more people would ask for it.

I am in the process of creating 60 short training videos that explains every aspect of Library Expert but that project will not be completed until the end of the year.



-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn


Posted By: Todd Manning
Date Posted: 02 Nov 2014 at 8:35pm
Hi Tom,

Sorry I was away last week. I'm not currently setup to do webcasting and do not know what is involved to do it. Maybe let me install the new 2015.01 and see if the Altium script interface solves my problems.

Todd


Posted By: Todd Manning
Date Posted: 16 Nov 2014 at 7:19pm

Hi Tom,

The new 2015 version doesn't seem to solve my problem. If I set any of the outline layers in the "Create Footprint" window to anything other than eMechanical1 to eMechanical16 then the script stops and doesn't create the footprint in Altium?

So to turn off an outline am I supposed to set the outline to "eMechanical0" or just "0"? None seem to work for me.

Also my "3D Model Outline" is on mechanical layer 17 in my Altium libraries, nothing over mechanical layer 16 seems to translate.

Regards
Todd




Posted By: Tom H
Date Posted: 17 Nov 2014 at 10:45am

To turn off any Drafting items, change the line width value to 0 (zero) in User Preferences.

You cannot turn off Drafting items in the Library CAD Tool Export dialog window.




-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn


Posted By: Todd Manning
Date Posted: 17 Nov 2014 at 4:35pm

Hi Tom,

Thanks for clarifying the way to turn drafting outlines off.

I was trying to set the layer to zero not the line width.

What about the other issue about trying to set outlines to a mechanical layer above Mechanical Layer 16?

Thanks,
Todd



Posted By: Tom H
Date Posted: 18 Nov 2014 at 8:13am

Altium Designer Mechanical Layers 17 - 32 are turned off (unchecked for use) as the default in the installation and "Altium Scripting" files are unable to activate those layers. You have to manually activate Mechanical Layers 17 - 32 in the "Layer Display" menu for each new Project.

So it's not a Library Expert issue, it's an Altium Designer issue.

Contact Altium and submit your question to them.



-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn


Posted By: robmeyer
Date Posted: 25 Feb 2015 at 5:14am
If you use in your scripts this: Board.LayerStack_V7.LayerObject_V7[ILayer.MechanicalLayer(i)]
You can work with all Layers from 1 to 32 in AD14 and later.


Posted By: chrisa_pcb
Date Posted: 25 Feb 2015 at 10:42am
Easy enough to drop-in. I'll give it a try. Thanks.


Posted By: chrisa_pcb
Date Posted: 25 Feb 2015 at 12:53pm
Originally posted by robmeyer robmeyer wrote:

If you use in your scripts this: Board.LayerStack_V7.LayerObject_V7[ILayer.MechanicalLayer(i)]
You can work with all Layers from 1 to 32 in AD14 and later.
 
Does that return a TLayer object which is then provided to the .Layer of the element being built? I assume the proper terminology from our script would be:
 
CurrentLib.Board.LayerStack_V7.LayerObject_V7[ILayer.MechanicalLayer(i)]
 
as a .Board only exists within CurrentLib.
 
Edit: I tried manual editing to set a track layer per your setup and it doesn't recognize a LayerStack_V7 property.


Posted By: robmeyer
Date Posted: 26 Feb 2015 at 2:24am
This LayerObject things are taken from the attached script. This script is used to manipulate the Designator on the Layer you want.
uploads/870/AdjustDesignators2.zip" rel="nofollow - uploads/870/AdjustDesignators2.zip

With this code inserted in your produced script, I could enable and show MechLayer17:
   Stack      : IPCB_LayerStack_V7;
   Board       : IPCB_Board;

Begin
    NewPCBLibComp := PCBServer.CreatePCBLibComp;
    NewPcbLibComp.Name := 'RESCAXS50P200X100X55-8L';
    NewPCBLibComp.Description := 'Chip Array, 2 Side Convex, 0.50 mm pitch;8 pin,2.00 mm L X 1.00 mm W X 0.55 mm H body';
    NewPCBLibComp.Height := MMsToCoord(0.55);
     Board := PCBServer.GetCurrentPCBBoard;
     Stack := Board.LayerStack_V7;

    Stack.LayerObject_V7(ILayer.MechanicalLayer(17)).SetState_MechLayerEnabled := true;
    Stack.LayerObject_V7(ILayer.MechanicalLayer(17)).IsDisplayed[Board] := true;
    Board.ViewManager_FullUpdate;
    Board.ViewManager_UpdateLayerTabs;


Now is "only" the question how to draw on this layer.

Did you have Altium installed to get these things tested?


Posted By: chrisa_pcb
Date Posted: 26 Feb 2015 at 10:46am
Originally posted by robmeyer robmeyer wrote:

This LayerObject things are taken from the attached script. This script is used to manipulate the Designator on the Layer you want.
uploads/870/AdjustDesignators2.zip" rel="nofollow - uploads/870/AdjustDesignators2.zip

With this code inserted in your produced script, I could enable and show MechLayer17:
   Stack      : IPCB_LayerStack_V7;
   Board       : IPCB_Board;

Begin
    NewPCBLibComp := PCBServer.CreatePCBLibComp;
    NewPcbLibComp.Name := 'RESCAXS50P200X100X55-8L';
    NewPCBLibComp.Description := 'Chip Array, 2 Side Convex, 0.50 mm pitch;8 pin,2.00 mm L X 1.00 mm W X 0.55 mm H body';
    NewPCBLibComp.Height := MMsToCoord(0.55);
     Board := PCBServer.GetCurrentPCBBoard;
     Stack := Board.LayerStack_V7;

    Stack.LayerObject_V7(ILayer.MechanicalLayer(17)).SetState_MechLayerEnabled := true;
    Stack.LayerObject_V7(ILayer.MechanicalLayer(17)).IsDisplayed[Board] := true;
    Board.ViewManager_FullUpdate;
    Board.ViewManager_UpdateLayerTabs;


Now is "only" the question how to draw on this layer.

Did you have Altium installed to get these things tested?
 
I do have Altium installed, yes. Thanks for expanding on this.. I'll test your stuff and see about implementing it.


Posted By: chrisa_pcb
Date Posted: 26 Feb 2015 at 12:21pm
Stack := Board.LayerStack_V7;
I get an undeclared identifier for LayerStack_V7 when I go to run. It simply doesn't recognize it as a property of board. Which version of Altium are you using? I'm currently using v13.3. Is this functionality that was added in a more current version of Altium?
 


Posted By: robmeyer
Date Posted: 26 Feb 2015 at 12:39pm
In AD13 the V7 API is not implemented. It is available since AD14. Could be that it also work with Stack := Board.LayerStack;


Posted By: chrisa_pcb
Date Posted: 26 Feb 2015 at 1:18pm
So basically, to do it it needs to use functionality only found in the latest version of the tool? Not a big fan of that, particularly given I have nothing to test it with.


Posted By: robmeyer
Date Posted: 27 Feb 2015 at 5:40am
I found something, but it is not really nice. You could use something like:

{procedure ReadStringFromIniFile read settings from the ini-file.....................}
function ReadStringFromIniFile(Section,Name:String,FilePath:String,IfEmpty:String):String;
var
  IniFile     : TIniFile;
begin
     result := IfEmpty;
     if FileExists(FilePath) then
     begin
          try
             IniFile := TIniFile.Create(FilePath);

             Result := IniFile.ReadString(Section,Name,IfEmpty);

          finally
                 Inifile.Free;
          end;
     end;

 end;  {ReadFromIniFile end....................................................}

Procedure MechLayer;
Var
    Board       : IPCB_Board;
    MajorADVersion : Integer;

Begin

     Board := PCBServer.GetCurrentPCBBoard;

     //Check AD version for layer stack version
      MajorADVersion := StrToInt(Copy((ReadStringFromIniFile('Preference Location','Build',SpecialFolder_AltiumSystem+'\PrefFolder.ini','14')),0,2));


     if MajorADVersion >= 14 then
     begin
             Board.LayerStack_V7.LayerObject_V7(ILayer.MechanicalLayer(17)).SetState_MechLayerEnabled := true;
             Board.LayerStack_V7.LayerObject_V7(ILayer.MechanicalLayer(17)).IsDisplayed[Board] := true;
     end;

     if MajorADVersion < 14 then
     begin
             Board.LayerStack.LayerObject_V7(ILayer.MechanicalLayer(17)).SetState_MechLayerEnabled := true;
             Board.LayerStack.LayerObject_V7(ILayer.MechanicalLayer(17)).IsDisplayed[Board] := true;
     end;


Maybe you have a good idea how to combine LayerStack and LayerStack_V7. All other things are the same. Then the next problem would be how to place Tracks on these Layers. I think it is to much affort to get this work, for a small usergroup.

If you want to continue I will do what I can.

Robert


Posted By: Tom H
Date Posted: 27 Feb 2015 at 6:24am
Robert,
 
We can do anything, but we are not on Altium yearly maintenance and we do not have V14 or V15 of Altium.
 
We're trying to negotiate a deal with Altium to get a couple of new licenses, but we only need the Library Features. We do not do PCB design work in Altium so we don't need part placement, rules, routing, Out Job, etc. So we're not going to pay $10K per seat for features we'll never use.
 


-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn


Posted By: robmeyer
Date Posted: 27 Feb 2015 at 6:44am
I understand this complete.

The only question on this topic was if you want to go on and pay time on this. Then I could help a little bit.


Posted By: Tom H
Date Posted: 27 Feb 2015 at 6:48am
Thank you very much for your offer.
 
We should know some time soon if we can negotiate with Altium an upgrade to V14 & V15.
 
We'll keep this thread alive and get back to you as soon as we're ready.
 


-------------
Stay connected - follow us! https://twitter.com/PCBLibraries" rel="nofollow - X - http://www.linkedin.com/company/pcb-libraries-inc-/" rel="nofollow - LinkedIn



Print Page | Close Window