This is a training project
But that does not mean it's not working
converts geo
/bgeo
geometry formats into some random other formats
Input file can be piped in, like
cat file.geo | geoconverter -t obj file_out.obj
Or specified as a file, like
geoconverter file_in.bgeo file_out.obj
(if -t
is not provided - assumed output format is obj
)
Formats bgeo.sc
, bgeo.gz
are simple bgeos, but additionally compressed with c-blosc and gzip correspondingly.
To convert them with this tool you need to first pipe the bgeo.sc
file through a blosc decompressing tool into geoconverter
You can run simple expressions over attributes (just float/vector point attributes for now).
Syntax is somewhat inspired by vex, but it's not vex by any means.
There are no functions for now, and the "language" is just interpreted postfix notation, nothing is truly compiled.
There are also no built-in functions, for now at least.
for example:
@P = @P + 0.5*@mask*@N
will add offset along normalN
toP
based on mask attributemask
. All attributes MUST exist beforehand in the cache file.@P=@P + {0,1,0}*@mask
will offsetP
along vertical axis, multiplied bymask
attribute@mask=(@P.z+1)/2
will setmask
to be that value evaluated from z component ofP
Full command line example would look like this
geoconverter -t bgeo -e "@P = @P + 0.5*@mask*@N" file_in.bgeo file_out.bgeo
- obj
- stl
- geo
- bgeo
supporter input format:
- geo
- bgeo
If you want to define your own file format, so you can save it transparently through standard nodes like rop_geometry
or file
,
you can copy the file GEOio.json
into your houdini home dir,
for example to ~/houdini19.5/GEOio.json
You might need to adapt the json file, replace geoconverter
with full path to geoconverter
binary downloaded/built from this repository.
Or, instead, you can add geoconverter
binary to PATH
env variable so you can call it without full path, then you do not need to change GEOio.json