Skip to main content

Cadwork Math Utilities

Project description

Cadwork Math Utilities

Logo

PyPI PyPI - Python Version RTD Issues Pulls GitHub

This is the Cadwork Math Utilities library in Python.

Installation

Install with pip:

  pip install cwmath

Contributing

Contributions are always welcome! Before contributing, please check our contributing agreement.

Roadmap

  • Guides
  • Examples
  • API Documentation

Authors

License

MIT

Style Guide

Please follow the style guide below when adding functions. Guidelines

# imports:
import math
import sys
from myclass import MyClass


# example function
def add_one(number: int) -> int:
    """Increase number by one.
    
    Function written by John Doe.

    Args:
        number: a number

    Returns:
        number increased by one
    """
    return number + 1


# Aligned with opening delimiter.
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

if foo == 'blah':
    do_blah_thing()
do_one()
do_two()
do_three()

Examples

import cadwork
import element_controller as ec
import geometry_controller as gc

import sys

sys.path.append("...\\...\cwmath\\src")

from cwmath import cwplane3d
from cwmath import cwvector3d

element_ids = ec.get_active_identifiable_element_ids()
if len(element_ids) > 0:
    point1 = gc.get_p1(*element_ids)
    point2 = gc.get_p2(*element_ids)
    yl = gc.get_yl(*element_ids)
    plane = cwplane3d.CwPlane3d(point1,yl)
    print(point1)
    print(yl)
    print(plane)

    distance = plane.distance_to_point(cadwork.point_3d(0.,0.,0.))
    print(distance)

    vector1 = cwvector3d.CwVector3d.from_point_3d(point1)
    vector2 = cwvector3d.CwVector3d.from_point_3d(point2)
    norm =(vector2 - vector1).normalize()
    print(norm)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cwmath-0.0.9.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

cwmath-0.0.9-py3-none-any.whl (6.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page