reference.md 4.5 KB

List of Shapes

Code to display shapes

  • Line: defines a line providing start and end point
  • Rectangle: defines a rectangle providing bottom left corner, x dimension, y dimension
  • Triangle: defines a triangle providing three corner
  • Circle: defines a circle proving center and radius
  • Distance with text: defines a sizing mark with a label
  • Text: defines a given text positionned at the provided point
  • Cross: defines a cross positionned at the provided point
  • Axis: defines an axis at the given point with a given label
  • Arc: defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)
  • [](#)
  • [](#)
  • [](#)

Line

home Defines a line providing start and end point

Yaml

A: point(-5,-5)
B: point(5,5)
line: Line(A,B)

Python

A = point(-5,-5)
B = point(5,5)
line = Line(A,B)

line

Rectangle

home Defines a rectangle providing bottom left corner, x dimension, y dimension

Yaml

L: 8
h: 5
p: point(-(L/2),-(h/2))
rectangle: Rectangle(p,L,h)

Python

L = 8
h = 5
p = point(-(L/2),-(h/2))
rectangle = Rectangle(p,L,h)

rectangle

Circle

home Defines a circle proving center and radius

Yaml

circle: Circle(point(0,0),5)

Python

circle = Circle(point(0,0),5)

circle

Triangle

home Defines a triangle providing three corner

Yaml

L: 3.0
W: 4.0
triangle: Triangle(p1=(W/2,0), p2=(3*W/2,W/2), p3=(4*W/5.,L))

Python

L = 3.0
W = 4.0
triangle = Triangle(p1=(W/2,0), p2=(3*W/2,W/2), p3=(4*W/5.,L))

triangle

Distance with text

home Defines a sizing mark with a label

Yaml

fontsize: 14
t: r'$ 2\pi R^2 $'  # sample text
dwt: Distance_wText((-4,0), (8, 5), t, fontsize)

Python

fontsize=14
t = r'$ 2\pi R^2 $'  # sample text
dwt = Distance_wText((-4,0), (8, 5), t, fontsize)

Distance with text

Text

home Defines a given text positionned at the provided point

Yaml

text: Text(r'$c$', point(0,0))

Python

text = Text(r'$c$', point(0,0))

Text

Cross

home Defines a cross positionned at the provided point

Yaml

cross: Cross(point(0,0))

Python

cross = Cross(point(1,0))

Cross

Axis

home Defines an axis at the given point with a given label

Yaml

axis: Axis((0,0), 5, 'x', rotation_angle=0)

Python

axis = Axis((0,0), 5, 'x', rotation_angle=0)

Axis

Arc

home Defines an Arc providing a center point, a radius, a starting angle and an angle (rotates clock-wise)

Yaml

center: point(0,0)
radius: 1
angle: 120
start_angle: 180-angle
arc_angle: angle
arc: Arc(center, radius, start_angle, arc_angle)

Python

center = point(0,0)
radius = 1
angle = 120
start_angle = 180-angle
arc_angle = angle
arc = Arc(center, radius, start_angle, arc_angle)

Axis

Code to display the above defined shapes

home In order to display the various shapes, use the following code in a jupyter notebook

[1]: %matplotlib widget
[2]: from pysketcher import *
[3]: drawing_tool.set_coordinate_system(xmin=-10, xmax=10,ymin=-10, ymax=10,axis=True)
[4]: drawing_tool.mpl.gcf().canvas

for Yaml, you need to add those extra steps

head = """\
libraries: ["from math import tan, radians, sin, cos","from pysketcher import *"]
myfig={}
sketchParse(head,myfig)

The above code initialize myfig sketch space loading into it libraries references so samples can use tan, radians, si, cos and all the objects defined in pysketcher (the module name of jupytersketcher)

Yaml

myfig={}
sketch="""
# put here the yaml 'object' definition
"""
drawing_tool.erase()
sketchParse(sketch,myfig)
# replace 'object' by the actual one
d = myfig['object'].draw() 
drawing_tool.display()

Python

drawing_tool.erase()
# put the code of the object case here
# replace object by the actual name line, rectangle, circle...
object.draw()
drawing_tool.display()