+ All Categories
Home > Documents > 3D Gerber Viewer Online Help ZofzPCB2.Gerber file format at Wikipedia: Gerber Format Screenshot -...

3D Gerber Viewer Online Help ZofzPCB2.Gerber file format at Wikipedia: Gerber Format Screenshot -...

Date post: 05-Feb-2021
Category:
Upload: others
View: 11 times
Download: 0 times
Share this document with a friend
43
ZofzPCB: 3D Gerber Viewer Online Help Version: 1.1, 2019-11-17 Table Of Contents 1. Reading in Gerber Files 1.1 Auto 1.2 Manual Compose 1.3 Zip Files 1.4 File format 1.5 Board Outline, using a meta drawings 1.6 Board Outline, identifying the PCB outline 1.7 Automatic fit of image, drills and netlist 1.8 Stackup file save/load 1.9 Rendered board file save/load 2. Netlist and IPC-356 file 3. Components and IPC-356 file 4. Components Modeler 5. Body Builder 6. STEP File Export 7. Navigation 8. Right Panel: Layers & effects 9. Measurements 9.1 Position Markers 9.2 Net-Marker 9.3 Right-Mouse-Button click menu 10. Colors 10.1 Color Presets 10.2 Color Picker 11. Cross Section 12. View Menu - still some more effects 12.1 Full-Screen 12.2 Wireframe 12.3 SubSampling 12.4 Thick layers 12.5 Camera FOV (Projection) 12.6 Net selection effects 12.7 Color Presets 12.8 Color Picker 12.9 Light 12.10 Render Effects 13. Screenshot 14. Autopilot 15. Connection between Program and Website 16. Bug Reports 17. Program Structure Chart
Transcript
  • ZofzPCB: 3D Gerber Viewer Online Help

    Version: 1.1, 2019-11-17

    Table Of Contents

    1. Reading in Gerber Files

    1.1 Auto

    1.2 Manual Compose

    1.3 Zip Files

    1.4 File format

    1.5 Board Outline, using a meta drawings

    1.6 Board Outline, identifying the PCB outline

    1.7 Automatic fit of image, drills and netlist

    1.8 Stackup file save/load

    1.9 Rendered board file save/load

    2. Netlist and IPC-356 file

    3. Components and IPC-356 file

    4. Components Modeler

    5. Body Builder

    6. STEP File Export

    7. Navigation

    8. Right Panel: Layers & effects

    9. Measurements

    9.1 Position Markers

    9.2 Net-Marker

    9.3 Right-Mouse-Button click menu

    10. Colors

    10.1 Color Presets

    10.2 Color Picker

    11. Cross Section

    12. View Menu - still some more effects

    12.1 Full-Screen

    12.2 Wireframe

    12.3 SubSampling

    12.4 Thick layers

    12.5 Camera FOV (Projection)

    12.6 Net selection effects

    12.7 Color Presets

    12.8 Color Picker

    12.9 Light

    12.10 Render Effects

    13. Screenshot

    14. Autopilot

    15. Connection between Program and Website

    16. Bug Reports

    17. Program Structure Chart

  • 18. CrossCheck page

    19. Keyboard and Mouse Controls on a single page (PDF)

    External Resources

    1. Gerber format specification & related documents:Ucamco Download Page

    2. Gerber file format at Wikipedia: Gerber Format

    Screenshot - made on Toshiba Satellite P50T 4K laptop (AMD Radeon R9 M265X)

    ZofzPCB is designed to offer two ways of composing a project: auto and manual.

    1. Reading in Gerber Files

    file:///C:/Cross-Check.htmlfile:///C:/ZofzPCB-Shortcuts.pdfhttps://www.ucamco.com/en/guest/downloadshttps://en.wikipedia.org/wiki/Gerber_format

  • Auto provides you with a quick and convenient way of composing a new project. The purpose of the Auto Load is to matchGerber/drill/IPC-356/BOM files to assumed functions in PCB definition. This feature is based on a file name rules set, located in a'script' text file: "%APPDATA%\ZofzPCB\CAM_Load_Rules.txt

    The file contains a set of rules, divided into "sections" corresponding to a particular file naming schemes, like:

    section KICAD (Protel Mode)

    There is a list of possible file functions and related file name pattern masks, in each section:

    BOM *.csv IPC-356 *.ipc Silkscreen T *.gto Silkscreen B *.gbo Copper T *.gtl Copper M *.gN Copper B *.gbl Copper M / *.gpN BoardOutline *.gbr Drill_NPTH *np*.drl Drill_PTH *.drl

    Each file is tested by the pattern masks and the first hit is assigning a function and finishing the search, for the file. All sections are tested and the section with the most hits is chosen to continue the load. The hit results are displayed for acceptation.

    Please refer to the CAM_Load_Rules.txt file itself, for syntax explanation. In case you would like to create another set that is relatedto a particular CAD vendor default convention, then I am willing to assist you. Get in touch with me. To access the rules text-file, use the button on the Auto Load dialog. Alternatively, you can use the following file path: "%APPDATA%\ZofzPCB\CAM_Load_Rules.txt

    Steps:

    1. After launching the program, go to menu "File". Under Compose New, select Auto. That is, Command: File / Compose New / Auto.

    2. The following dialog box will appear:

    3. Select Folder (and mask, if needed). Summary of matching files is displayed on the right side of the above dialog box. Sometimes you may find that the matching offiles significantly differs from expected. In such cases, you are advised to use the manual method.

    4. Press Auto Load .

    1.1 Auto

  • 5. Layer Stackup dialog box is displayed. This allows you to review Gerber files assignment to particular layers, drill, IPC-356 netlistand BOM slots.

    6. If you would like to add or remove some files, please press the More... button on top of the dialog. (please continue the reading,

    in the section below)

    7. Press OK: - Read & Render . The board will be flattened. That is, the negative and positive constructs are converted into simple

    shapes. It is then triangulated to enable the Direct3D to display the PCB model.

    Have you tried the auto compose and you are not satisfied with the results? If that is the case, then you can compose your projectby using manual compose. The procedure of composing a project using this approach is as detailed below.

    Steps:

    1. After launching the program, go to menu "File". Under Compose New, select Manual. That is, Command: File / Compose New /Manual. This command will create a clean new project.

    2.Assign file function

    2.1 A dialog box, like in the picture above, will appear. The left side of the dialog box is the file explorer interface while the rightside has the Layer Stack list, the Drill Plates list, the IPC-356 Netlist and the BOM file place-holder.

    2.2 The configuration is done by selecting a file from the file explorer and then pressing a button to move it to one of the windowson the right. Alternatively, you can select multiple files and move them as a group.

    2.3 A file is added to the "Layer Stack" list by pressing [Insert File To Layer Stack] button. Order of files in the layer stack listrepresents the PCB stackup. You can reorder files/layers later.

    2.4 The [Insert Void To Layer Stack] button allows a user to insert Core or Prepreg layers (not associated with any Gerber drawingfile).

    2.5 Drill files are added to the "Drill Plates" list by clicking the [Insert File To Drill Plates] button.

    2.6 The IPC-356 file should be inserted under "IPC-356 - Nets - Pads – Components" by using the [Set File As IPC-356] button.

    2.7 The BOM file should be inserted under "BOM, csv format" by using the [Set File As csv BOM] button. It makes no sense to adda BOM file, if the IPC-356 file is not loaded.

    1.2 Manual Compose

  • 3. Organizing Layer Stack

    3.1 You can organize the layer stack while you are still in the Manual Compose Stackup dialog box or you can go to Display/EditStackup. For the latter, you will get a dialog box that is similar to the one below.

    3.2 The stack list represents the order of layers from top (component side) to bottom (solder side). Each entry represents a layerin the PCB layer stack. It is important to note that some layers are associated with Gerber files (e.g. copper), while othersare not (e.g. core). The first column defines the type of the layer and specifies it. You can edit the order by moving a selectedlayer up or down by using up/down buttons.

    3.3 The Board Outline field is a special layer and should be positioned at the bottom of the list. It may or may not be related to aGerber file. It is a placeholder for the PCB total thickness value.

    3.4 When all the Gerber layers are identified, it is easy to enter the total thickness of the PCB in the Board Outline's Thickness

    field. The Set Equal Spacing button adds missing core layers and sets their thickness to the entered value.

    3.5 The Gerber file should internally specify whether the "film" is positive or negative. To understand the positive and negativefilms, consider this scenario: if you want to draw a punched surface, you can draw the dots and ask for a negative film.Alternatively, you can paint the entire surface except the dots and ask for a positive film. In other words, if you want a dottedfilm, you have two options. Similarly, your file should clearly define the film to be used. In case the film is not specified, thenthe program uses the default options-default positive and default negative.

    3.6 There is a rule to draw the paste masks and solder masks in a negative way. If the Gerber is drawn in opposite polarity, youcan use the above setting to force a specific polarity.

    3.7 After organizing the Layer Stack, you can move to the Drill Plates.

    4.Organizing Drill Plates

  • 4.1 The software automatically detects if the provided drill file is in Excellon or Gerber format.

    4.2 In some cases, a PCB project will have only one drill file. If that is not the case, you will need to define the functions of theprovided drill file(s).

    4.3 For a selected drill file, you should define where the drill plates start and end. For example, assuming a 4-layer PCB, fromcopper layer 1 to copper layer 4 (top to bottom) or copper layer 1 to copper layer 2.

    4.4 The program also allows you to specify one of the following options:Non-Plated - plain, non conductive holePlated - conductive barrelFiled - conductive barrel, top and bottom - like metal filedµVia↓ - conductive barrel and bottom - metalized from outsideµVia↓ Filed - conductive barrel top and bottom - metalized from outsideµVia↑ - conductive barrel and top - metalized from outsideµVia↑ Filed - conductive barrel top and bottom - metalized from outside

    4.5 Drill files may contain holes and routing. If you have routing on a separate file, just add both files to the Drill Plates

    4.6 When you are through with organizing your categories, you are ready to proceed to the next step. You are almost through!

    5. OK: - Read & Render

    5.1 The board will be flattened. That is, the negative (cutouts) and positive constructs are converted to simple additive shapes. Itis then triangulated for the Direct3D to display the PCB model. This step is crucial for high frame rate animation.

    5.2 In case there is a need to interrupt the process, the following options are available:

    Stop At Next Checkpoint The process will be stopped when the current task ends. No new actions will be started.

    Stop Now Dangerously The process is stopped immediately. This action causes the allocated memory to leak. It is not guaranteed that theprocess will continue from the point it is stopped without restarting the program.

  • The file browser and auto detection feature, described above in this chapter, emulates zip files as directories. Reading in all the CAMfiles and .camset file, as well as saving the .camset file works the same way.

    This does not apply to the binary zofzproj file, which have LZMA compression on its own and cannot be read or written into a zip file,by ZofzPCB. The above functionality works only with zip files, but not with 7z or rar files.

    You should not change the following options unless the Gerber files are generated by an old or incompatible CAD exporter or areabnormal in any other way.

    1. Gerber file options

    RS274D button.

    The contemporary format, RS-274-X or GerberX2, defines apertures and all parameters needed to create a layer drawing.Sometimes, only a subset of parameters is defined by the Gerber file. The operator has to define missing settings manually.Nevertheless, such cases are rare. Parameters set in the associated dialog are default. If there are explicit definitions in theGerber file, they normally override the defaults. A default negative parameter is defined per layer in the layer stack list.

    2. Apertures The long-depreciated pure D format cannot be used, as, at least, the apertures must be defined in the file. If that is not the case, you should manually add file headers containing apertures definitions. It is important to note that theapertures should be in RS-274-X file format.

    3. Excellon file options

    Excellon button.

    Although we have few parameters here, the standard is generally weak. I hope the "Guess" option will work for you. If it doesn’t,kindly feel free to send me your examples. The Guess option is based on a statistical approach. Guessing is done by matching and scaling drills to pads. Gerber format offersa better quality output than Excellon, making it the preferred format for drill files. In some cases, especially when a small number of holes is placed on a PCB or holes are not related to pads, the Auto-Offset maydestroy perfectly aligned file. You can switch off the Auto-Offset procedure by unchecking the check-box. The offset betweenGerbers and drills is then assumed to be (0,0)

    4. IPC-356 file options

    IPC-356 button.

    This constant column format defines a specific number of digits per value and this may differ with what some projects mayrequire. For that reason, some vendors prefer to change the scale while maintaining the required number of characters in orderfor the format to handle bigger boards. Another problem might be missing units definition or unspecified pads sizes. Additionally,limited space for the component designator and pin names makes it hard to decide what to do, when a longer text is used inECAD. Either the names will be truncated/renamed or the column positions are destroyed. In most of the cases, it is possible torecover. The recovery mechanism may fail, however. Therefore it is possible to disable the specific automatic corrections. Note that truncating the names may result in "short-circuits" or miss matching with the BOM, disabling some of the ZofzPCBfeatures.

    1.3 Zip Files

    1.4 File format

  • This approach can be used when the board outline is drawn on a copper or silkscreen layer. However, the approach is suitable only if the outline is drawn using tracks of thickness below a specific threshold value. All otherobjects on the layer must use a thickness value that is greater than the threshold. The threshold thickness value is set in the dialogbox as shown below.

    Additionally, this dialog box enables the program to deal with the finite accuracy of the geometrical calculations. This helps to avoidthe disappearance of tiny objects or the problems that could result from their inclusion. The program offers a correction function thatis applicable for objects that are below a specified size. To ensure uniformity of a correction, 2 values are used to define the new slope of the transfer function. By keeping the value of"Minimal" less than that of "Slope Start", the size relation between the affected object sizes is preserved.

    Sometimes the Gerber files are generated as pure M2M files. In othercases, a descriptive text or drawings is inserted in various layers. The program can remove any object that is located outside the PCBon any layer. In order to do this, the program must understand thePCB shape. To achieve this, it analyzes the Board Outline layer (ormeta drawing on other layer) to determine the M2M part of thepicture and removes objects that are outside the bounding rectangle. You can enlarge the created mask by adjusting the horizontal andvertical margin values.

    By clicking the How to Identify button, you will get a dialog box that

    is similar to the one shown below.

    The program offers the following options:

    1. Accept all detected Loops All detected outlines define multiple PCBs.

    2. Auto Recognition This is based on finding a division line. The horizontal or vertical line divides the drawing into two parts: the PCB and thedescription text.

    3. Take the greatest Loop This assumes that the biggest object is the PCB.

    4. Take 2,...10 greatest Loops Assumes that the biggest two to ten objects are the PCB parts. You should select the number of loops that you want the programto take (from 2 to 10).

    1.5 Board Outline: using the meta drawing

    1.6 Board Outline: identifying the PCB outline

  • In all the above cases, the outline is converted into a polygon that represents the surface of the PCB. On the outline drawing, theprogram interprets the tracks as the edges of the polygon. This means that the drawing must form a loop. To account for smallerrors, the program uses the drawing track width plus "Brush Blob" value as an error margin.

    These are illustration examples of how Outline Drawingsare converted to board surfaces. The green part representsthe PCB while the black one (removed part) is the drawing.

    1. The surfaces XOR if the borders do not touch. You cancreate cutouts.

    2. If multi-path outline is detected, the greatest surface isassumed.

    3. Double line means two edges (XOR). If you want todraw a frame, you should open it.

    4. If text is sneaking in, it will look like strange very smallPCB pieces

    5. Small breaks may be corrected, but bigger ones maysimply remove the surface resulting in a no PCB volumeat all.

    It is common to have the Gerber file image centered on the film. The drill file features an arbitrary offset and the same can alsoapply to the IPC-356 file. Owing to this, offset correction is always executed. If the points required to match are not enough, a warning usually pop ups. This message can be ignored but you should consider thepossible causes of this before you proceed. The image/drill correction is not performed if the drill files are in Gerber format.

    1.7 Automatic fit of image, drills and netlist

    1.8 Stackup file save/load

  • You can save the project configuration, please go to menu "File", under Stackup, select Save As. That is, Command: File / Stackup / Save As.

    A file explorer dialog will pop-up, allowing for a selection of a directory. Then please press Save As button, enter the file name

    and hit OK

    When any of the configuration changes and you wish to update your saved data, please use Command: File / Stackup / Save

    If you wish to restore the configuration, load the old project, please use Command: File / Stackup / Load

    The project configuration file type is associated with the program. That means it is possible to double click on the file to have itopened.

    The configuration file uses XML text format - you can use it in automated work-flow or erase sections by hand, using a text editor, ifyou need to. The extension of the configuration file is ".camset"

    List of configuration settings saved in the .camset file:

    Stackup, including file names, layer parameters, etc...

    Drill Plates, including file names, from-to, type

    IPC-356 file name

    BOM file name

    Color settings

    Additional layer types

    Gerber File Parameters

    Drill File Parameters

    IPC-356 File Parameters

    Board Outline Meta Drawing

    Identify Outline Settings

    Camera Positions Table

    NetList Colors

    Component List Models

    You can save the complete rendered project, please go to menu "File", under Rendered Board, select Save As. That is, Command: File / Rendered Board / Save As.

    A file explorer dialog will pop-up, allowing for a selection of a directory. Then please press Save As button, enter the file name

    and hit OK

    When any of the data changes and you wish to update your saved data, please use Command: File / Rendered Board / Save

    If you wish to load the rendered project please use Command: File / Rendered Board / Load

    The rendered project file type is associated with the program. That means it is possible to double click on the file to have itopened.

    When entering the Save As file name, in the premium-licensed program, it is possible to select to save the file in the View-Only mode.

    1.9 Rendered board file save/load

  • In the View-Only mode, premium component view can be displayed using the Gerber Viewer without the premium license.That is, you can share your premium PCB view with your clients or wide public, without a need to purchase additional premiumlicenses. please refer to: zofzpcb.com/ViewOnly and pcbmodel.com

    Please generate and include the IPC-356 Bare Board Flying Probe Test File in your Gerber files set. Please refer tozofzpcb.com/Components for a description of concepts related to IPC-356 file format usage.

    Benefits of using the IPC-356 in this program include the following:

    1. PCB connectivity is tested and error report generated if the IPC-356 does not match with the copper connections.

    2. Menu: Netlist / Nets Display list of nets, allows for finding nets by highlighting and zooming to the selected net.

    3. Menu: Netlist / Nodes PCB Display list of PCB nets. Selecting any net displays a second level list of endpoints (pins). Selecting any endpoint results in highlighting and zooming to it. "Nodes PCB" means that it is related to the copper data, when copper differs from IPC-356

    4. Menu: Netlist / Nodes IPC Display list of IPC-356 nets. Selecting any net displays a second level list of endpoints (pins). Selecting any endpoint results in highlighting and zooming to it. "Nodes IPC" means that it is related to the IPC-356 data, when copper differs from IPC-356

    5. Menu: Netlist / Errors Display list of differences between detected copper connections and IPC345 netlist.

    6. Menu: Netlist / Test Re-runs the comparison test between the copper connections and the IPC345 netlist.

    7. Menu: Netlist / Save Report Allows to save the results of the comparison test between the copper connections and the IPC345 netlist.

    8. Menu: Netlist / Cross Check Cross-Check allows you to browse schematic and PCB simultaneously. ZofzPCB must be connected to a schematic editor, such asOrCad Capture. For a demo, you can visit the CrossCheck-Page. The unrolling sub-menu allows for configuration of the keyboard keys and mouse functions used for sending cross-checkcommands, to the schematic editor program:Disabled - comands are not send, P & N keys act for selectionCPN: Comp Pad Net - C, P, N keys are used for crosscheck; selection disabledC: cross-check - C key is used for crosscheck; P & N keys act for selectionOn Hover - mouse hover hits invoke crosscheck commands; P & N keys act for selection

    2. Netlist and IPC-356 file

    https://www.zofzpcb.com/ViewOnly.htmlhttps://www.pcbmodel.com/https://www.zofzpcb.com/Components.htmlfile:///C:/Cross-Check.html

  • Please generate and include the IPC-356 Bare Board Flying Probe Test File in your Gerber files set. Please refer tozofzpcb.com/Components for a description of concepts related to IPC-356 file format usage.

    Benefits of using the IPC-356 in this program include a possibility to display components, just like in assembled PCB. There are 2variants of the components model generators:

    Extruded

    Free option Very basic shapes, related directly to the footprint dimensions. Designed to act as a mouse targets and as a fall-back, in case the parametric modeler cannot detect orcannot draw the component.

    Parametric

    Premium option Modeler recognizes the footprint shapes, sometimes also using component designator to select the modeltype. The guesses are possible to be overwritten, using other models having compatible footprints. Detailed dimensions and colors are possible to be adjusted. Number of parameters depends on the model,however.

    Please note that there is no direct data about the THT component top/bottom side, in the IPC-356 file. The modeler placescomponents on the top side, by default. You can swap any THT component to the other side, by hand.

    It is crucial to save your decisions, about model selection, parameters, THT side, in the .camset or in the .zofzproj file.

    Access to functionality related to the components and IPC-356 file:

    1. Mouse hover Right Panel Info

    Display component designator and data from the BOM file:

    Component - RefID, Name, Footprint

    Pin - RefID-PinID, Net Name, Hole Diameter (notshown here)

    2. Mouse Right Button click on a component

    Displays the Right Click Menu, where some actions can be called in the "Component"section:

    Hide - Hide the component

    THT bottom / top - swap THT component to the other side

    Model - show Model Dialog Box

    List - Show List of components to unhide

    3. Menu: Components / Components List

    Component browser.

    3. Components and IPC-356 file

    https://www.zofzpcb.com/Components.html

  • Component preselection can be achieved using the Maskfield. Please do not use capital letters. The search is caseinsensitive. '*' means any text, '?' means any character,capital 'N' means any number. Selecting any component from the designators list zoomsit into direct view. The component is marked pink. After selecting the desired component, Model parametersare shown on the right side of the dialog, allowing formodification. Please refer to the next chapter, for the Modelerdescription.

    4. Menu: Components / Pin List

    Component browser and pin browser. Component preselection can be achieved using the Maskfield. Please do not use capital letters. The search is caseinsensitive. '*' means any text, '?' means any character,capital 'N' means any number. Selecting any component from the designators list zoomsit into direct view. The component is marked pink. Thepin list (right) is populated with the list of pins of thiscomponent. Selecting any pin, highlights it pink.Optionally (checkbox) copper netlist connected to the pinis also highlighted.

    5. Menu: Components / Model Generator

    There are two options: the free and simple modeler and the premium parametric modeler, as mentioned above.

  • 6. Menu: Components / Enter License Key Step by step guide is located in: zofzpcb.com/FAQ - How to load the license key

    7. Menu: Components / Clear Components In case when you have been reassigning the Reference ID set, in the ECAD, like running automatic annotation from scratch,stored model data is totally inadequate. There is no automatic or semi-automatic recovery function, from this situation, yet. You may choose to just erase all stored data and run the recognition function again.

    2 examples:

    Adjusting size of an electrolytic capacitor

    1.

    Automatically selected model was correct in that it is an electrolytic capacitor, but of course, the size is wrong.

    2.

    4. Components Modeler

    https://www.zofzpcb.com/FAQ.html#loadlicense

  • Right Mouse Button Click on the component, selecting "Model"on the pop-up menu. The Model Menu replaces the pop-up menu.

    3.

  • Adjusting values for Diameter, Height, pin-Pitch, Pin-Diameter, Pin-Color. The Values are from the part pdf, colors are from the picture on the distributor website, hex-value is taken by a color picker tool. Thanks to loaded BOM, it is possible to copy the changes to the other components, having the same footprint name or the samepart name. See the buttons on the bottom.

    4.

  • Please remember either to save the stackup-setup file (.camset) or the rendered file (.zofzproj). The model parameters are saved along with the respective data, in both of the file formats.

    Change from resistor to LED

    1.

  • Component Designator is sometimes used as a description, in this project. Therefore the program could not determine that the0805 footprint is for the LED. To change tis guess by hand, please click on the component using the right mouse button and selecting "Model" in the pop-upmenu.

    2.

  • Automatic model detection makes decisions based on the footprint geometry and designator id. Some decisions are "hard", forexample number of pads, some decisions are "soft" - guesses. The guesses are possible to be overwritten. From top to bottom ofthe dialog, drop-down boxes represents user alterable decisions. Selecting a top category runs automatic detection on the subcategory below, including loading of default values for parameters.

    3.

  • Here, after choosing the "LED", the automatic process was recalled, again detecting 0805 chip size. This time, however, bringing awhole new set of parameters and their default values.

    4.

  • Please remember either to save the stackup-setup file (.camset) or the rendered file (.zofzproj). The model parameters are saved along with the respective data, in both of the file formats.

    Body for a Variable Resistor

    1.

    5. Body Builder

  • The element is not in the library, the program have been deciding for another component. This is the case, where Body Builderfunction will be helpful. As the Body Builder does not yet handle pins, the best is to select another component, with the pins themost resembling what is needed. The 'Extruded' simplified model is one simple choice for this case, as it has straight round pins.

    After selecting 'Extruded' please press the Body Builder >> button.

    2.

  • The Body Builder interface shows up: Command Tool-Box on the left, List of Body Primitives shows on the bottom. Command Tool-Box:

    Insert New - show list of primitives to insert

    Delete - remove the selected primitive(s)

    Cut - cut and store into clipboard the selected primitive(s)

    Copy - store into clipboard the selected primitive(s)

    Paste - insert the primitive(s) from the clipboard to the component in front of the selection

    Reset Model - clear the body and reload the Modeler created content

    Undo, Redo - there is a separate redo buffer for each component. This function works only for the Body Builder

    Display - only the edited component will be shown

    List of Body Primitives:

    Clicking inside a single primitive selects it. The edit area becomes darker

    Double click selects the whole body

    A second double click deselects all

    The selected primitive is highlighted (magenta)

    The size is limited to 5 primitives. A horizontal scrollbar shows up, when the size is above.

    Return to the Modeler (in Component List):

  • Add one CUBE primitive by Insert New button and selecting the item marked by a white rectangle on the picture above.

    Fill the sizes, positions and colors, using x,y,z dimensions from the variable resistor technical drawing (pdf). Set all the rounded edges (RadHor, RadVert, RadLat) to 0.1mm and distance from the PCB (h0) to 0.05mm. Get the color valuefrom the element picture using an external color picker tool or image editor, copying the hex value to the proper field. Calculate the shift distance, between the component origin (center between two external pins, in case of 3 pin devices) and thecenter of the CUBE primitive. Use paper, pen and calculator.

    4.

  • As it would be rather impossible to construct the screw head with the slot, out of currently supported primitives, I have decided toelaborate more on the body instead and build it from 3 cubes, gaining the sticking out sides. Please shrink the SizeX to 0.6mm. Then calculate required shift (PosX), so the external wall keep to the component size. Thenduplicate the primitive using clipboard and flip one wall to the other side, adding a minus sign to its PosX.

    5.

  • The third cube primitive, in between the two walls, can save some of the surfaces, for faster rendering. Please use the RCBODY primitive. The RCBODY originally is used in the chip resistor or capacitor model. Two surfaces of it areremoved, as it is covered by the terminals. It also has two colors, as the chip resistor have a different structure on top.Additionally, all of its 8 surfaces can be removed, by a mask bit-field. In this case, the SizeX of the primitive must be longer, then it is calculated, to cover the edge radius of the two walls. Please addeven more 0.01mm to make sure it goes into contact with the walls. The rotation is 0, so the two open sides goes together with the already made walls. The SizeY is now smaller, by 0.53mm, toexpose the walls edges. Also the position PosY must be increased by 0.53mm/2, to align one of the sides and leaving the whole0.53mm on the other side. Keep both colors to be a copy of the wall colors. Please use the Display Checkbox, to enable the single component view.

    6.

  • The screw is made of a vertical cylinder, using VCYLINDER primitive, originally used for electrolytic capacitor. As the primitive ishidden inside the already made body, set the height (h0) to move it above the body.

    7.

  • Please disable the grove, by setting the grove parameters to 0, set the Radius and SizeZ to match the data from the partdrawing. You may submerge the screw a bit. Please calculate the screw position.The Variable Resistor Body is now finished.

    8.

  • In case you have more then one instance of the part, please use the Modeler global change buttons, seen on the first picture. The second option is to use clipboard, to copy the body into the body of the other components. You can also copy the body element, between different project, using the clipboard.

    9.

  • ZofzPCB STEP export feature makes use of facilities provided by the Open CASCADE Technology software.

    Notes, Features, version 1.3.1

    1. STEP AP214 (AP214IS)

    2. Component models colors repeats internal model colors.

    3. PCB volume/solid use constant color. Other colors are taken from the stackup settings.

    4. Component names are: "Value(RefID)" where Value is taken from BOM and RefID from IPC-356.

    5. Each component is separately constructed and placed, even if the model is repeated.

    6. The feature is located in a separate 64-bit module, due to high memory size demands. Therefore it runs only on a 64-bitwindows.

    How do I create a STEP file?

    1. Load gerber files to ZofzPCB

    2. Adjust component models

    3. Hide components you want to substitute own models for

    4. Menu: Files / STEP Export

    6. STEP File Export

    https://www.opencascade.com/doc/occt-7.4.0/overview/html/index.html

  • 5. Select directory, press Save As button

    6. Select what do you want to be exported (copper, silkscreen, components)

    7. Press OK

    The navigation process requires a wheel mouse and a keyboard. In addition, the ZofzPCB program supports 3Dconnexion 3D mouse. To illustrate how navigation is done using the wheel mouse and keyboard, an airplane has been used to represent differentviewpoints. In the following illustrations, the function of every key is given together with a corresponding viewpoint.

    F1 quick keyboard help

    PgUp-PgDn CAM forward - backward

    Up-Down, Left-Right CAM shift / hover

    Numeric pad / * Ctrl- / * CAM roll, Ctrl=next rectangular

    A-D, S-W CAM pan, tilt

    Right Mouse ButtonDRAG CAM pan - tilt

    Tab roll to level the floor

    Space Bar nearest rectangular

    Home Ctrl-Home initial position

    Alt-Home resize PCB to fit

    7. Navigation

  • in orthogonal projection

    Z swap side

    X turn to PCB center

    Ctrl-1 ... Ctrl-9, Ctrl-0 Save current camera position

    1 ... 9, 0 Jump to saved camera position

    Left Mouse ButtonCLICK center this PCB point

    Left Mouse ButtonDRAG rotate around this PCB point

    Ctrl - Left Mouse Button DRAG rotate around this PCB point

    0:00 / 1:00

  • Zofzpcb offers fast access options on its right side panel. The following arethe available options:

    1. Mouse wheel functions:

    1.1 Zoom (F5): mouse wheel is used for navigation (camera forward-backward)

    1.2 Peel (F6): removes layers one by one from the actual PCB top, orbottom if the camera is under the board. Checkbox Single - option to view a single layer only.

    1.3 Spread (F7): magnifies z-axis of the PCB thereby spreading alllayers and drills proportionally. Checkbox Compress - option to spread only the core and keepcoper e.t.c. on initial thickness.

    Clicking any of the above radio buttons (or pressing the shortcut keys)while keeping the Ctrl key down, will reset the function.

    2. Hollow Checkbox: makes excess of copper transparent. This allowsunobstructed view.

    3. Volume Slider: increase core/prepreg volume opacity.

    4. Volume Slider: The leftmost position of the volume slider enables viewof components that are on the other side of the PCB.

    5. Components Checkbox: enable or disables component display.

    6. Verticals Checkbox: enable or disables vias, drill, board edges display.

    7. On-Off layer checkboxes: activates or inactivates the selected layers.

    8. Ctrl-Click on Layer Checkbox – turns on the single layer (Peel) mode forthe selected layer layer. Mouse wheel can be used to change the layer.

    9. Visible copper layer is marked by red color in the On/Off checkbox.

    10. In addition to the above options, the additional window below displayshover and selected object information. You will get a hover display ifyou move the cursor over an object. If you make a selection (Net orPin), the information about the selected object overwrites the hoverdisplay.

    Zofzpcb offers some keys as additional mouse buttons. The keys used for this function are H, P, E, and N. You can utilize theirassigned functions either by using the keyboard or by clicking the right mouse button. It is important to note that the P and N keyscan be used for the Cross-Check function. (The C key is to be used by the Cross-Check function only, meaning "Component".) Theprogram also allows you to redirect all keys to the measurement function by setting Netlist/Crosscheck to Disabled.

    The program offers 2 position markers for distance measurement. Distance is measured by positioning the cursor on a selectedobject and the clicking a key on the keyboard. The list of keys used for this function is as given below:

    H – Hole

    P – Pad (must be a flash or an IPC-356-testpoint)

    8. Right Panel: Layers & effects

    9. Measurements

    9.1 Position Markers

  • E – Edge of the copper or mask

    ESC – reset markers

    In case you select more then 2 markers, the first one will remain at its place while the second one will follow your next selections. The first one, colored green, is the reference position. The program allows you to place the first marker again, by clicking the object key twice in the same place or by resetting themarkers (ESC). The keys may be kept down, to continously search for the object to set the marker to. This is especially usefull for the E-edge key. In addition, you can copy the dimensions text to clipboard by pressing Ctrl-C

    If you select Net (N), the copper under the cursor and its connections on other layers will be highlighted. You can go to Net (N) either by using the keyboard or by clicking the right mouse button.

    The program allows you to adjust the way you view your selection. To make an adjustment, please go to View and select NetSelection Effect or just press Ctrl-N to circulate via available options. The following three options are available: blink color only, uncover selection, and show only selection.

    Blink Color Only Uncover Selection Show Only Selection

    Clicking the right mouse button allows you to do the following:

    1. Go to measurements (and crosscheck) functions without using the keyboard.

    9.2 Net-Marker

    9.3 Right-Mouse-Button click menu

  • 2. Select mils or millimeters for measurement display.

    3. Copy the measurement text to clipboard.

    4. Access Mouse Wheel function switch.

    5. If called on a component - Hide the component.

    6. If called on a THT component - flip the component placement side - top/bottom.

    7. If called on a component - evoke Modeler pop-up.

    8. If called on a disabled component(s) - show a list of components to unhide.

    9. RMB-click again in the same place, LMB-click, or press ESC to remove this pop-up.

    The program offers a variety of colors to choose from. To access the color presets, please go to View and selecting Color Presets. Themenu unfolds, showing options similar to shown below:

    Besides the predefined options, the program allows you to create and save your own color presets. Presets are stored under "%appdata%\ZofzPCB\NAME.color. The path is given to enable you to copy, share, or distribute your colorpresets.

    10. Colors

    10.1 Color Presets

  • To access the color picker, please go to View and select Color Picker. There are two color tables: one for layer type and the other for individual layer.

    A color can be selected either by RGB sliders or HSV sliders.

    The slider at the top allows mixing the colors from both tables in any proportion. To modify a color from the table, please select the entry in the related drop down box. The actual colors are displayed on the radiobuttons.

    The Net Color is a pseudo-random color selected for each detected net. The program allows to modify the net color by positioning themouse pointer over it (on the PCB) and pressing the N-Net key. Furthermore, a copper color can be adjusted to mix a specifiedamount of the net based color. This is done for the Layer Type or the Individual Layer. The slider is activated when a copper color isadjusted.

    For some special effects, like showing a specific subset of nets, it is possible to manipulate the net color globally, by a button click.Then you can set some specific nets to some specified colors, for example marking a differential clock pairs. The options for "Set All Net Colors" are:

    to Default pseudo random

    to This to the current net color

    to Copper to the Layer Type defined color

    10.2 Color Picker

    11. Cross Section

  • Horizontal or vertical cut can be placed using the key, without any distance markers present. The board tilt vs the sight line tothe mouse pointer determines if the cut is horizontal or vertical.

    The key may be continously pressed and the cross section will follow the mouse pointer.

    When a single distance marker is placed, the cut line is defined by the marker and the mouse pointer. It is still possible to adjust theline, by keeping the key down.

    If two distance markers are present, the cut line will be defined by the markers, when the key is pressed.

    Zofzpcb uses the Direct3D 9c or higher together with a dedicated graphic processor (GPU). Some years ago, such a configurationwas dedicated for gaming only. Currently, the GPUs are build into the processor and it is hard to get a PC/Laptop without it. GPUs arebeing used by operating system components such as Windows 10 Aero Glass, to perform standard graphic effects.

    1. The PCB image data has to be converted into a suitable format - list of triangles. This process (flattening and triangulation) takestime.

    2. The GPU draws the complete frame always from the beginning, at a rate of 60 fps. This rate may be reduced to 30 fps (or lower)for more complicated boards, more effects, less powerfull GPUs.

    Therefore, as in many 3D games, the program offers a set of controls that allow you to increase or decrease the amount of detailsand the required GPU power. Depending on your GPU power and the size of your board, you may need to do adjustments for you toget optimal results.

    12. View Menu - still some more effects

    1. Full-Screen - this offers better viewing but has some performance consequences. The concept of implementation have been alsoevolving, during last years. Memory and bandwidth allocation to the 3D processor is increased, as there is more pixels to draw.Years ago, the full screen mode have been using a smaller resolution then the 2D GUI mode, to increase the rendering speed.That was acceptable on the CRT screens, but it is not that good looking on the flat panel screens - it is not used anymore. The other feature is a release of resources needed to run the 2D GUI: memory and memory bandwidth. In addition, in the past,windowed modes may have synchronization problems or image tearing problems. The most important consequence of this feature is that in the full screen mode there is no way to use windows GUI elements, likedialog boxes or file explorer windows. Therefore, the program must create its own GUI widgets. For simplicity, the program usesits own GUI also in the windowed mode.

    2. Wireframe – this mode displays surfaces as frames of wires. Apart from helping in debugging, this setting enables the user to

  • easily understand how the program carries out a process.

    3. SubSampling – increasing the sub-sampling enhances the image quality but doing so demands more resources.

    4. Thick layers - thick layers are good-looking if you can afford them. However, it is important to note that showing the thickness ofcopper, silkscreen, or soldermask layers can affect the frame rate. There is more triangles in the edges, than it is in the frontsurfaces!

    5. Camera FOV (Projection) Camera FOV (Field Of View) is equivalent to adjusting a focal length of the camera lenses. There are the following settings:

    5.1 3 presets 90°, 45°, 22.5°. Note: the 90° setting (and square display proportions) is crucial in building the 360x180 panorama pictures.

    5.2 Variable: a pop-up containing a scroll-bar shows up. An Additional effect, Compensate / Dolly Zoom, moves the camera forward and backward thereby allowing compensation ofthe object’s size change.

    5.3 Orthogonal The orthogonal mode is based on a simple projection and does not feature a perspective effect. If you keep camera direction perpendicular to the PCB, by using Home or space-bar buttons, there will be a specific size scalerelating the PCB and the viewed image. This scale value is saved in the Screenshot image meta data to allow for 1:1 printing.

    6. Net selection effects (see: Net-Marker)

    7. Color Presets (see: Color Presets)

    8. Color Picker (see: Color Picker)

    9. Light:

  • The program offers 2 types of lighting: Ambient and Diffuse. (The Specular light and textures are not implemented yet.) The controls:

    Amount of the Ambient light (equivalent to offset, in electronic terms).

    Amount of Diffuse light

    Diffuse light direction: Azimuth

    Diffuse light direction: Elevation

    Diffuse light direction: Relative To Camera The view is more uniform if the light direction is binded to the camera/navigation. Labels on the above 2 sliders changeaccordingly

    Diffuse light direction: Fast How fast the light follows the camera

    10. Render Effects:

    These are a set of parameters that alter the visual features. They are used during the triangulation phase. It is important to notethat the new values will have effect after the next flattening and triangulation.

    10.1 Rendering Hollows: This refers to the distance between the edge of a plane and total transparency. The copper island may not be hollowed if it has an area that is smaller than a specified size. In addition, the island must have a simple shape. In case of complicated islands, more surface area is required to triggerthe hollowing effect.

    10.2 Preventing big triangles: Big triangles can interfere with some visual features. This effect is caused by the calculations performed "per vertex". An increase in the size of a triangle leads to an increase in the number of triangulation points. To prevent this, you should use numbers such as 1,2,4,8,16.. or 0.5, 0.25, 0.125.

    10.3 Rendering Arcs to Polygons: After the flattening process, arcs are converted into straight-line polygons. How exact would you like to have it? To ensure accuracy, netlist and hit tests are performed on data stored before the flattening process.

  • 1. This feature saves the current view in PNG format - lossless image compression format.

    2. The user interface elements are removed from the picture.

    3. Its Resolution Multiplier allows the user to upscale the view up to 10 times.

    4. The program allows you to save the image in the project folder or in a constant directory. Unique filenames are always generated.

    5. To print in a 1:1 scale, physical dimensions (DPI) are set in the picture file when the camera orthogonal mode is used. (Ref 7.5) For good results, please use printing programs with honors DPI settings such as standard paint.

    6. Alt-Home key, in orthogonal mode, sets the magnification, so the PCB fits exactly to the image borders.

    The autopilot offers automatically generated airplane - like camera movements. It is based on the PCB drills and offers the following:

    1. Speed scroll-bar. Besides short moments of slowdown when flying through the drills, the camera keeps a constant linear speed that is set using thescrollbar.

    2. Roll scroll-bar. It sets the camera roll, thereby defining the bottom of the screen. The program offers two options:

    2.1 Centrifugal- down direction is perpendicular to the turn axis.

    2.2 Gravity- down direction is perpendicular to the PCB plane.

    3. PCB is down. When checked, the direction of gravity is towards the PCB. Otherwise, the direction is always from top to bottom.

    4. Viaska City. Enables peeling of all sections except the actual bottom layer of your PCB.

    5. ➧➧ button

    Starts or stops the action.

    Enjoy a flight over your PCB with the autopilot!

    10.4 Drill through copper Should drills make holes in copper? Yes. But sometimes it is useful to simplify and skip this subtraction. It is also important to note that the parameters involved here affect triangulation as well as flattening.

    13. Screenshot

    14. Autopilot

  • The following is mostly located under menu: F1-Help

    1. On demand starting the Default Browser, directing it to:

    1.1 www.zofzPCB.com

    1.2 "User Manual" www.zofzPCB.com/help.html (this file)

    1.3 "FAQ Page" page www.zofzPCB.com/FAQ.html

    1.4 Example / Show Galery - displays www.pcbmodel.com website.

    2. Send a Bug Report

    This command starts an external program that allows you to send your message and log file. The log file is located at%APPDATA%\ZofzPCB\ZofzDebugLogFile.txt. You can revise the log file before sending. In case you expect a feedback from me, then please provide your email address. There is no other information that is sent apart from what you can clearly see in the CrashReport.exe dialog-window.

    3. Check for upgrade

    Manually triggers the action described below:

    4. Automatic version check

    On program start, every couple of days, the 3D Gerber Viewer automatically requests to check for the latest version. This requestis to be confirmed by the user. There are three options:

    allow it

    allow it for ever

    disallow it this time

    If you have allowed it, the program gets https://www.zofzpcb.com/version/info.txt file, containing the current version number. The version number is compared to the current - you will get the information about the new version, when it is available. You canstill defer or ignore the download, or start it automatically, via browser.

    Do not hesitate to send me a bug report.

    To debug the program I need to reproduce the bug at my debugging workbench. In case the bug is related to the input data, I can ask you to provide me with some input data. I understand the delicacy of the subject - I am designing PCBs myself. So, if you have time, reduce the Gerbers to the affected region and layers or simply trust me. There is a link to the privacy policy. Use [email protected] for direct contact. List of known bugs, version log: bug list

    "

    15. Connection between Program and Website

    16. Bug Reports

    https://www.zofzpcb.com/PrivacyPolicy.htmlmailto:[email protected]:///C:/Users/powie_000/Desktop/www.zofzPCB.com/BugList.html#bottom

  • Auto Load Stackup FilesDialog

    Gerber Loader

    NC Drill Loader

    IPC356 Loader

    BOM Loader

    Auto Offset(auto Scale)

    Auto Offset(auto Scale)

    Columndetecton

    Divide toislands (for speed)

    Detect Board Outline,convert to polygon

    2D Boolean FLATTENand generateCopper Netlist

    List of positive(arcedged) polygons,copper and drill,arranged as netlist. Used for:mouse hit, netlist hit, Netlist

    matching,Netlistchecker

    Arc-to-fan

    Effects

    2D Fast triangulation

    List of trianglesarranged as netlist. Sorted into Render Buffer. Also used for mouse hit

    Netlist, net names, List of components and pins, including geometry

    Extruded Components Generatoras fall-back

    ComponentsGeneration and Fitting(Kabsch algorithm)

    High level Component shape buffer Also used formouse hit,

    Cross-Section dynamic renderbuffer generator

    3D generative triangulation

    Dynamic-crosssection Render Buffer ComponentsRender Buffer

    Direct3DUser IFCameraScreenshot

    Componentsdiscovery

    Components Tables

    ModelerUser Interface

    Body BuilderUser Interface

    Block diagram of the program (ver 1.1), showing data processing from CAD/CAM Gerber input to 3D Render Buffers.

    17. Program Structure Chart

  • ZofzPCB Help author: Rafal Powierski, Updated: 02-05-2020

    © 2011-2020 Rafal Powierski ○ [email protected] ○ Impressum ○ EULA ○ Privacy Policy ○ Return Policy

    mailto:[email protected]:///C:/impressum.htmlfile:///C:/EULA.htmlfile:///C:/PrivacyPolicy.htmlfile:///C:/ReturnPolicy.html

Recommended