diff --git a/README.md b/README.md index 1ceb854..f228983 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ + + build123d is an alternate to the [CadQuery](https://cadquery.readthedocs.io/en/latest/index.html) Fluent API. It has several advantages over this API but the largest one is that build123d enables the full python toolbox when designing objects - for loops, references to objects, diff --git a/docs/index.rst b/docs/index.rst index 4c2722b..31d28b7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,6 +25,8 @@ .. highlight:: python +.. image:: logo.png + build123d is an alternate to the `CadQuery `_ Fluent API. It has several advantages over this API but the largest one is that build123d enables the full python toolbox when designing objects - for loops, references to objects, diff --git a/docs/logo.png b/docs/logo.png new file mode 100644 index 0000000..0db1dd2 Binary files /dev/null and b/docs/logo.png differ diff --git a/src/build123d/build_generic.py b/src/build123d/build_generic.py index 000bbc5..948b280 100644 --- a/src/build123d/build_generic.py +++ b/src/build123d/build_generic.py @@ -89,8 +89,8 @@ class Add(Compound): ] context.locations = [Location(Vector())] context._add_to_context(*new_objects, mode=mode) - elif isinstance(context, BuildSketch): - rotation_angle = rotation if isinstance(rotation, float) else 0.0 + elif isinstance(context, (BuildLine, BuildSketch)): + rotation_angle = rotation if isinstance(rotation, (int, float)) else 0.0 new_objects = [] for obj in objects: new_objects.extend( @@ -103,11 +103,11 @@ class Add(Compound): ) context._add_to_context(*new_objects, mode=mode) context.locations = [Location(Vector())] - elif isinstance(context, BuildLine): - new_objects = [obj for obj in objects if isinstance(obj, Edge)] - for new_wires in filter(lambda o: isinstance(o, Wire), objects): - new_objects.extend(new_wires.Edges()) - context._add_to_context(*new_objects, mode=mode) + # elif isinstance(context, BuildLine): + # new_objects = [obj for obj in objects if isinstance(obj, Edge)] + # for new_wires in filter(lambda o: isinstance(o, Wire), objects): + # new_objects.extend(new_wires.Edges()) + # context._add_to_context(*new_objects, mode=mode) else: raise RuntimeError( f"Add does not support builder {context.__class__.__name__}" diff --git a/src/build123d/build_line.py b/src/build123d/build_line.py index 8bc7140..9ad00dd 100644 --- a/src/build123d/build_line.py +++ b/src/build123d/build_line.py @@ -71,6 +71,7 @@ class BuildLine(Builder): def __init__(self, mode: Mode = Mode.ADD): self.line = [] + self.locations: list[Location] = [Location(Vector())] super().__init__(mode) def vertices(self, select: Select = Select.ALL) -> ShapeList[Vertex]: