Giter Site home page Giter Site logo

pythonocc-nodes-for-ryven's Introduction

Pythonocc-nodes-for-Ryven

Pythonocc nodes package for Ryven.

Here a way to work on Pythonocc with a node editor, Ryven in that case. To get it functional you will have to execute Ryven in an environment where pythonocc is installed.

Installation

Prerequisites:

  1. Ryven: https://github.com/leon-thomm/Ryven
  2. Anaconda: https://docs.anaconda.com/anaconda/install/index.html
  3. pythonocc-core: https://anaconda.org/conda-forge/pythonocc-core
  4. pythonocc-utils: https://github.com/tpaviot/pythonocc-utils

Easy install solution for beginners : Tanneguydv#13 (comment)

Usage

You just have to import the nodes.py file in Ryven.

Examples

Here a small example: https://www.youtube.com/watch?v=lUNYstrfvmg

exemple_tutogithub exemple_tutogithub_1

You can load this project from demo_example.json

another example: torus_example

Other example : Convert your points to gcode torus_gcode see torus_gcode.json file

It's just a beginning to explore the possibilities given by matching the two, I've just coded simple functions to see how it works and how it should be to perform complex operations.

Contribute !

The nodes are of course open for contribution, as there are thousands of functions in OpenCascade and thousands of ways to develop properly the nodes!

The functions currently implemented are:

Gp_nodes = Pnt_Node, DeconstructPnt_Node, PointZero_Node,Dir_Node, Vec_Node, DX_Node, DY_Node, DZ_Node,Ax2_Node, Pln_Node, Trsf_Node, Move2pts_Node, MidPoint_Node,

BRepBuilderAPI_nodes = TwoPtsEdge_Node, Wire_Node, WireFillet2d_Node, DiscretizeWire_Node, Get_dir_from_edge_Node

BRepOffsetAPI_nodes = Pipe_Node,

BRepPrimAPI_nodes = Box_Node, Sphere_Node, Cylinder_Node,

BRepAlgoAPI_nodes = Fuse_Node, Common_Node, Cut_Node,

BRepFilletAPI_nodes = fillet_Node,

GeomAPI_nodes = PointsSurface_Node,

TopExplorer_nodes = TopExplorer_Node,

Display_nodes = display_Node, Color_Node,

Tools_nodes = List_Node, ListLength_Node, FlattenList_Node, ListItem_Node, RepeatData_Node, Serie_Node, ShiftList_Node,

DataExchange_nodes = ExportStep_Node, ImportStep_Node, ExportStl_Node, ImportStl_Node, ExportGcode_Node

Each "nodes" family is a class with a color attributed. Node names are correspond to the functions from Pythonocc.

To add a function from Pythonocc you have to generate a code as shown in add_function_box_example.py.

pythonocc-nodes-for-ryven's People

Contributors

leon-thomm avatar tanneguydv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.