notes_examples.txt 5.01 KB
Newer Older
Andrey Filippov's avatar
Andrey Filippov committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
In your work folder (containing multiple versions of an assembly) create to directories
git_design_bind
and
git_production_bind

Then mount git repository folders:

sudo mount --bind  ~/git/mechanical-parts/design/ git_design_bind/
sudo mount --bind  ~/git/mechanical-parts/production/ git_production_bind/


Updating parts revisions in assemblies:
1) Create new part revision file
2) temporary rename inserted part (i.e. add underscore)
3) "Reinsert..."
4) Select new part revision
5) Save assembly file
6 rename old part revision back
 
#sudo mount --bind /media/eyesis/62191928-a62c-47f4-a41a-4f612473f808/home/eyesis/git/mechanical-parts/design/ git_design_bind/
#sudo mount --bind /media/eyesis/62191928-a62c-47f4-a41a-4f612473f808/home/eyesis/git/mechanical-parts/production/ git_production_bind/

#/media/eyesis/21e39af9-47fa-4698-9d20-4c88d69fa600/home/eyesis/git/mechanical-parts/
sudo mount --bind /media/eyesis/21e39af9-47fa-4698-9d20-4c88d69fa600/home/eyesis/git/mechanical-parts/design/ git_design_bind/
sudo mount --bind /media/eyesis/21e39af9-47fa-4698-9d20-4c88d69fa600/home/eyesis/git/mechanical-parts/production/ git_production_bind/



sync_pull, sync_push:
/home/eyesis/x3d/x3d_model_files/

1. run sync_pull there


when inserting subassembly, check "insert all objects"

When copying step files to /home/eyesis/x3d/x3d_model_files/step_parts/ - may search for *.stp in uploaded (skip duplicates)

----

Varicad has very limited support of subassemblies, the worst thing is that there is no way to selectively turn on/ off (or wireframe) parts of the subassembly - it only can be shown/hidden, wireframe/solid as a whole.

This is how we still can use subassemblies and export them to x3d. Rather easy is to use a single level (like SFE), more tricky when there are more than one.

Here is a simpe assembly -> subassembly ->parts setup.

Subassembly file should have additional "proxy" object, ideally having the same outside shape as the real sabassembly. It may be built by boolean exploding copies of the several real objects (copy, not identical copy) and re-combining them. This proxy object should have exactly the same insertion point and orientation as the subassembly (it is possible to edit subassembly objects, set orientation and insertion point with Varicad command "sbe". proxy should not be the part of the subassembly, just in the same file.

When the file is inserted into the higher level ("insert objects from file") by default Varicad inserts only subassembly, leaving other objects from the file. You should check a box with "insert all objects from file" (or smth like that)

That "proxy" object will be orphan and can be "lost" when moving inserted subassembly, but as it has teh same origin/orientation as the subassembly it will be possible to re-import it and align to the subassembly.

When working with assembly subassembly can be hidden using groups (for rendering speed), and when exporting assembly as STEP file it should be off, and a proxy should be on (step export ignores hidden objects).

Subassembly should be exported twice, easiest thing would be to save these two exports in different directories (I now use "step_assy" and "step_parts"). When exporting as a part, only the proxy object should be visible, when exporting as an assembly - only the real objects should be visible and proxy - hidden. With the multi-level of subassemblies, the "assembly" export should have visible the proxies of the next level subassemblies, not their content. Assembly export may have or may not have the suffix '-ASSY' - it will only be attached during processing if it does not have it already. When the FreeCAD macro exports assembly, after it recognized some parts (the parts directory should not have assembly step files), including proxies (they are saved in the same step_parts directory), it tries to substitute <part>-ASSY.x3d instead of the <part>.x3d if such file exists, so subassemblies should be processed first.

Groups are very useful when dealing with many parts, but Varicad is very unstable when importing files that already have groups, that problem is very old and started before subassemblies were introduced. So it is safer to delete any groups imported from inserted files, not trying to do anything with them.


There is an example of a multi-level design - MC393F21-ASSY, that has 3 subassembly, defined on the top level of the design directory (Varicad can only recognise relative paths if they are directed in one direction, so assembly may only have parts/subassemblies directly below it. 0393-07-03 - straight SFE without lens/spacer, 0393-07-01 is a 3-SFE module that uses subassembly 0393-07-03 and in turn is inserted into MC393F21-ASSY. 0393-07-02 is a subassembly that is also inserted into MC393F21-ASSY, but does not have any subassemblies referenced, only parts.

Andrey





	Search 	
andrey to "internal"
Couple parts (epoxy and a fan) got to wrong place, but the rest seems OK. An it is possible to use transparency.
http://community.elphel.com/x3d/test_07.html

I started a repo for this and related files https://github.com/Elphel/freecad_x3d