Home > Community > Blogs > PCB Design > what s good about capture s placement report look to spb16 5 and see
 
Login with a Cadence account.
Not a member yet?
Create a permanent login account to make interactions with Cadence more conveniennt.

Register | Membership benefits
Get email delivery of the PCB Design blog (individual posts).
 

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

What's Good About Capture’s Placement Report? Look to SPB16.5 and See!

Comments(4)Filed under: SPB, Capture CIS, Allegro, OrCAD, Schematic, Capture-CIS, property, Design Entry, Allegro Design Entry, Design Entry CIS, PCB Capture, "capture CIS", design, SPB16.5, Allegro 16.5, hierarchy, hierarchical schematics, flat schematics, 16.5, placement report

The 16.5 release of OrCAD Capture includes the ability to generate a report with X and Y locations of the placements of the parts on a schematic.

During the process of schematic validation or testing, you may need to know the co-ordinates of each part that has been placed in the schematic. You can now generate a report with X and Y locations of the placements of the parts on a schematic. This report is generated as a .CSV file which provides the following details of the parts:

  • Reference designator
  • Part name
  • Schematic name
  • Sheet number
  • File system location of the part library
  • X co-ordinate location
  • Y co-ordinate location


Read on for more details …


To accomplish this in OrCAD Capture execute the following steps -

1. Select Project Manager> highlight .dsn> Tools> Export Placement (as shown below):


  
2. Microsoft Excel will automatically open showing more details about each part:

   

Here’s a screenshot of the Property Editor showing the matching co-ordinates of parts with the above screenshot:

I look forward to your feedback.

Jerry "GenPart" Grzenia

Comments(4)

By Meringues on February 21, 2012
Hi

The Placement report is good, but a very useful information is missing. On each schematic page you've the coordinates on the boarder (A, B, ... 1, 2,.. ).

So a very good indication would be, when you got the quadrant information in the report on each component.

Best,

Marco


By Jerry GenPart on February 24, 2012
Hi Marco,
Good suggestion! In fact, in Design Entry HDL, the Cross Referencer utility provides just the sort of output you describe above. I'll relay your suggestion to our Capture R&D team.
Jerry G.

By sag on March 1, 2012
Hi Marco,
From 16.3 onwards, Capture Database can be accessed through Tcl.
So we can create report according to our need using the Tcl.
The documentation can be found in PDF located at %CDSROOT%\tools\capture\tclscripts\OrCAD_Capture_TclTk_Extensions.pdf.
So the report showing the grid location can be dumped using Tcl.
Below is the tcl code which dumps all the parts grid location on the active page open in capture.
proc DumpPartGridLoc { aFileName } {
set lFile [open $aFileName w]
set lPage [GetActivePage]
set lSchOcc [GetInstanceOccurrence]
set lStatus [DboState]
set lPartInstsIter [$lPage NewPartInstsIter $lStatus]
set lInst [$lPartInstsIter NextPartInst $lStatus]
set lNullObj NULL
set lPartReference [DboTclHelper_sMakeCString]
set lGridLoc [DboTclHelper_sMakeCString]
puts $lFile "Part Reference,Grid"
while {$lInst!=$lNullObj} {
set lPlacedInst [DboPartInstToDboPlacedInst $lInst]
if {$lPlacedInst != $lNullObj} {
set lOcc [$lPlacedInst GetObjectOccurrence $lSchOcc]
if {$lOcc != $lNullObj} {
set lPartInstOcc [DboOccurrenceToDboInstOccurrence $lOcc]
$lPartInstOcc GetReferenceDesignator $lPartReference
} else {
$lPlacedInst GetReferenceDesignator $lPartReference
}
$lPlacedInst GetGridLocation $lGridLoc
puts $lFile "[DboTclHelper_sGetConstCharPtr $lPartReference],[DboTclHelper_sGetConstCharPtr $lGridLoc]"
}
set lInst [$lPartInstsIter NextPartInst $lStatus]
}
delete_DboPagePartInstsIter $lPartInstsIter
close $lFile
}
Steps to run the above command:
1) save the above code in a file and name it as griddump.tcl, say in D:\
2) Open capture and open a schematic page
3) In the command window, type the following command
source {D:\griddump.tcl}
DumpPartGridLoc {D:\PartGrid.csv}
Thanks

By Sagar Kumar on March 4, 2012
Thanks for the feedback - here is an interim solution for achieving your requirements
From 16.3 onwards, Capture Database can be accessed through Tcl.
So we can create report according to our need using the Tcl.
The documentation can be found in PDF located at %CDSROOT%\tools\capture\tclscripts\OrCAD_Capture_TclTk_Extensions.pdf.
So the report showing the grid location can be dumped using the tcl. Below is the tcl code which dumps all the parts grid location on the active page open in capture.
proc DumpPartGridLoc { aFileName } {
               set lFile [open $aFileName w]
               set lPage [GetActivePage]
               set lSchOcc [GetInstanceOccurrence]
               set lStatus [DboState]
               set lPartInstsIter [$lPage NewPartInstsIter $lStatus]
               set lInst [$lPartInstsIter NextPartInst $lStatus]
               set lNullObj NULL
               set lPartReference [DboTclHelper_sMakeCString]
               set lGridLoc [DboTclHelper_sMakeCString]
               puts $lFile "Part Reference,Grid"
               while {$lInst!=$lNullObj} {
                               set lPlacedInst [DboPartInstToDboPlacedInst $lInst]
                               if {$lPlacedInst != $lNullObj} {
                                               set lOcc [$lPlacedInst GetObjectOccurrence $lSchOcc]
                                               if {$lOcc != $lNullObj} {
                                                               set lPartInstOcc [DboOccurrenceToDboInstOccurrence $lOcc]
                                                               $lPartInstOcc GetReferenceDesignator $lPartReference              
                                               } else {
                                                               $lPlacedInst GetReferenceDesignator $lPartReference
                                               }
                                               $lPlacedInst GetGridLocation $lGridLoc
                                               puts $lFile "[DboTclHelper_sGetConstCharPtr $lPartReference],[DboTclHelper_sGetConstCharPtr $lGridLoc]"
                               }
                               set lInst [$lPartInstsIter NextPartInst $lStatus]
               }
               delete_DboPagePartInstsIter $lPartInstsIter
               close $lFile
}
Steps to run the above command:
1) save the above code in a file and name it as griddump.tcl, say in D:\
2) Open capture and open a schematic page
3) In the command window, type the following command
               source {D:\griddump.tcl}
               DumpPartGridLoc {D:\PartGrid.csv}

Leave a Comment


Name
E-mail (will not be published)
Comment
 I have read and agree to the Terms of use and Community Guidelines.
Community Guidelines
The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.