Reverse Engineering: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
*Second, it is important to reverse engineer existing CAD drawings- for example if we have CAD from Lyman Extruder or McMaster Carr - at that point we can create modifiable parts from scratch by adding underlying sketches to CAD that doesn't have underlying sketches, such as STEP imports. | *Second, it is important to reverse engineer existing CAD drawings- for example if we have CAD from Lyman Extruder or McMaster Carr - at that point we can create modifiable parts from scratch by adding underlying sketches to CAD that doesn't have underlying sketches, such as STEP imports. | ||
*To RE exiting STEP Import or where dimensions are not shown. First step is to show dimensions, and that is best done via Dimensioning Workbench. Dimension placement can be done for 3 different selected views - in a few minutes we generate all relevant dimensions. With these as working drawings, we open one FreeCAD tab with these dimensions, and in a second window we do Sketcher - or even paste the 2D right into the working window, so we have a workflow like in the Arch workbench. But let's say for now you have a 2D dimensioned Fab drawing - at best put that right in your working window while you work with Sketcher. So you generate sketches from drawings in the same window. | *To RE exiting STEP Import or where dimensions are not shown. First step is to show dimensions, and that is best done via Dimensioning Workbench. Dimension placement can be done for 3 different selected views - in a few minutes we generate all relevant dimensions. With these as working drawings, we open one FreeCAD tab with these dimensions, and in a second window we do Sketcher - or even paste the 2D right into the working window, so we have a workflow like in the Arch workbench. But let's say for now you have a 2D dimensioned Fab drawing - at best put that right in your working window while you work with Sketcher. So you generate sketches from drawings in the same window. | ||
*To RE simplifications for complex assemblies, we want to use a strategy where we take a given assembly in a Google Drawing, and then we identify by number all the existing features that we need to include. This document is reviewable - so we end up with a formal paper trail of how a file is made. To this we can add the original complex part, and document how that entire part was made in detail - to complete the 'part modification process'. | *To RE simplifications for complex assemblies, we want to use a strategy where we take a given assembly in a Google Drawing, and then we identify by number all the existing features/parts that we need to include ('''Simplification Diagram'''). This document is reviewable - so we end up with a formal paper trail of how a file is made. To this we can add the original complex part, and document how that entire part was made in detail - to complete the 'part modification process'. | ||
*For full transparency on part generation, a peer-reviewed part generation workflow should be documented. Video. So we have a full file - with its version history - that includes verification of constraints, editable sketches, and a Tree View that is fully annotated and transparent. One should be able to go through the Tree View and justify every single design step. Optimization would involve | *For full transparency on part generation, a peer-reviewed part generation workflow should be documented. Video. So we have a full file - with its version history - that includes verification of constraints, editable sketches, and a Tree View that is fully annotated and transparent. One should be able to go through the Tree View and justify every single design step. Optimization would involve generating the same part - but with fewer steps in the tree view. In fact, a formula should be created for the number of items in the tree view - such as #=#sketches + #blocks + #constraint. Further, a formula should be obtained for Acceptable Memory Size Calculation of an object - so one can verify from the tree view how much memory an object takes, and thus predict file size directly from the '''Simplification Diagram'''. Simplified formula based on 'Simplification Diagram' should be #parts x BM - where BM_x is Base Memory of underlying shape x. Such as rect solid should have BM_rectsolid=3*BM_cube - we should be able to understand basic memory requirements, and at that point completely predict file sizes. File size can be verified by examining Simplification Diagram. We impose a requirement - every part is 100k or less - and a final assembly limit is 50 items for 5 MB. Parts are worked on independently, so all basic geometries are imported - and made transparent via a Construction Set document. | ||
=Notes= | =Notes= |
Revision as of 17:14, 31 May 2017
OSE Reverse Engineering Protocol
- It is useful to take technical drawings and convert them to real parts, a la Cad1919 - from 2d paper to real 3D. Clear instructional on that.
- Second, it is important to reverse engineer existing CAD drawings- for example if we have CAD from Lyman Extruder or McMaster Carr - at that point we can create modifiable parts from scratch by adding underlying sketches to CAD that doesn't have underlying sketches, such as STEP imports.
- To RE exiting STEP Import or where dimensions are not shown. First step is to show dimensions, and that is best done via Dimensioning Workbench. Dimension placement can be done for 3 different selected views - in a few minutes we generate all relevant dimensions. With these as working drawings, we open one FreeCAD tab with these dimensions, and in a second window we do Sketcher - or even paste the 2D right into the working window, so we have a workflow like in the Arch workbench. But let's say for now you have a 2D dimensioned Fab drawing - at best put that right in your working window while you work with Sketcher. So you generate sketches from drawings in the same window.
- To RE simplifications for complex assemblies, we want to use a strategy where we take a given assembly in a Google Drawing, and then we identify by number all the existing features/parts that we need to include (Simplification Diagram). This document is reviewable - so we end up with a formal paper trail of how a file is made. To this we can add the original complex part, and document how that entire part was made in detail - to complete the 'part modification process'.
- For full transparency on part generation, a peer-reviewed part generation workflow should be documented. Video. So we have a full file - with its version history - that includes verification of constraints, editable sketches, and a Tree View that is fully annotated and transparent. One should be able to go through the Tree View and justify every single design step. Optimization would involve generating the same part - but with fewer steps in the tree view. In fact, a formula should be created for the number of items in the tree view - such as #=#sketches + #blocks + #constraint. Further, a formula should be obtained for Acceptable Memory Size Calculation of an object - so one can verify from the tree view how much memory an object takes, and thus predict file size directly from the Simplification Diagram. Simplified formula based on 'Simplification Diagram' should be #parts x BM - where BM_x is Base Memory of underlying shape x. Such as rect solid should have BM_rectsolid=3*BM_cube - we should be able to understand basic memory requirements, and at that point completely predict file sizes. File size can be verified by examining Simplification Diagram. We impose a requirement - every part is 100k or less - and a final assembly limit is 50 items for 5 MB. Parts are worked on independently, so all basic geometries are imported - and made transparent via a Construction Set document.
Notes
How to reverse engineer anything.
Using Baidu (China's Google) and knowing some chinese gets you to design schematics online, from China with love.
Links
- Seminal work from Bunnie Huang on reverse engineering of hardware - [1]
- Bunnie's video - https://www.youtube.com/watch?v=msrTR3hNDQM#t=161
- Software reverse engineering - [2]