New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add FCStd read and write nodes #3674
Conversation
Some docs would be nice before merging... :) |
ok, are there some example I can follow? here some screen about use cases: read node without filter keys, import all freecad parts visible/hiddenread node with filter keysread node with filter keysfor part design is important to filter the final step of the body tree write node - solid modewrite node - mesh mode |
Co-authored-by: Durman <sv@soluyanov.ru>
Co-authored-by: Durman <sv@soluyanov.ru>
Co-authored-by: Durman <sv@soluyanov.ru>
|
||
else: | ||
self.inputs.new('SvSolidSocket', 'Solid') | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When this function is called obj_format will always be the default value (solid)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I noticed a strange behaviour with the enum, also if I save sometime when I reopen the file the value is changed.
I'll look better at how this is implemented in other nodes.
exchange node to read freecad sketches
line - circle - arc conversion from Fc sketch to sv curve still to add ellipse and conics
to get a correct position of the sketch in blender, the sketch placement and parent body placement are applied on original sketch geometry
node to read/write freecad spreadsheet data
I confirm last "FreeCAD_weekly-builds-24612-Win-Conda_vc14.x-x86_64" is packed with python 3.9.2!!!! |
https://vk.com/wall-35076122_12458 news news news |
exchange index with Gcode node added |
fixed tree/node name added SvGenericNodeLocator fixed freecad 0.19+ sketch costruction/geometry mode
fcstd nodes: |
I'm already making some little projects with these nodes and I'll make a new repo on github just for project example files (freecad/blender) |
This is such good stuff, I hate to see it go to waste because people can't find it or already give up on installing. So please merge it! |
Thanks for all the effort to get this working thus far. |
I want to merge this. How do you do? |
Eeh. CI is broken :/ |
new nodes (exchange)
FCStd read - import parts from single or multiple freecad project files
filter by name feature
FCStd read Sketches - import Sketches from single or multiple freecad project files
filter by Sketches name
FCStd write - write solid or mesh parts in a single freecad project file
FCStd Spreadsheet - read/write parameter from a freecad spreadsheet
Approximate Subd to Nurbs - convert an obj (with subd modifier) to NURBS
FCStd read features
filter by name -dropdown enum list
select the part to be imported
read_update -bool
enable/disable reading
read_body -bool
enable/disable reading freecad Body
read_body -bool
enable/disable reading freecad Parts
tool_parts -bool
enable/disable reading freecad parts/features inside a solid operation or body ( it read just the final output)
invert filter -bool
invert filter selection
input-> file path -path
input-> part list -string (OPTIONAL: part labes in string list format)
output-> -solid
FCStd Sketch read features
mode -dropdown enum list
read mode: only geometry , only construction geometry, both
filter by name -dropdown enum list
select the sketch to be imported
max_points -int
parameter to resample the geometry by set max points in relation the the max geometry curve length
invert filter -bool
invert filter selection
read_update -bool
enable/disable reading
input-> file path -path
input-> part list -string (OPTIONAL: part labes in string list format)
output-> -verts
output-> -edges
outputs-> -curve
FCStd write features
write_name -string
name of the part(s) to be written
a suffix
_SV_
and a numeration will be added to the nameto avoid delete erroneusly parts in the freecad project.
The writed parts will be overwrited on node update.
format -enum
select mesh or solid format
write_update -bool
enable/disable writing
input-> file path -path
solid mode:
input-> -solid
mesh mode:
input-> -verts
input-> -faces
FCStd Spreadsheet
filter Spreadsheets by name -dropdown enum list
select the freecad Spreadsheet
filter Spreadsheets cell by alias -dropdown enum list
select the freecad cell alias in the selected Spreadsheet
write parameter
set the node to write mode
input-> file path -path
input-> cell in -float
output-> cell out -float
important
Code tested both in blender 2.93 (py3.9) and freecad 0.2 (py3.9)
More tests required to ensure safe usability.