Jump to content

SmithsOfUrth

Dormant
  • Posts

    2
  • Joined

  • Last visited

Posts posted by SmithsOfUrth

  1. Thanks for answering, nallath.

    I ended up doing this to create a cube that touches the buildplate:

    s = size / 2
    dtb = distance_to_buildplate
    verts = [ # 6 faces with 4 corners each
      [-s, -dtb,  s], [-s,  s,  s], [ s,  s,  s], [ s, -dtb,  s], # a = x-yz
      [-s,  s, -s], [-s, -dtb, -s], [ s, -dtb, -s], [ s,  s, -s], # b = x+yz
      [ s, -dtb, -s], [-s, -dtb, -s], [-s, -dtb,  s], [ s, -dtb,  s], # c = xy-z
      [-s,  s, -s], [ s,  s, -s], [ s,  s,  s], [-s,  s,  s], # d = xy+z 
      [-s, -dtb,  s], [-s, -dtb, -s], [-s,  s, -s], [-s,  s,  s], # e = +xyz
      [ s, -dtb, -s], [ s, -dtb,  s], [ s,  s,  s], [ s,  s, -s] # f = -xyz
    ]

    where "distance_to_buildplate" is the position in the Y axis of the cube when you click on the model, which is the same thing as the distance from the cube the ground.

  2. Hey guys!

     

    I'm working on a plugin (for Cura 3.6+) to enable manual supports, and one of the features I want to add is to show some kind of "preview" of what area the support is going to be taking.

    Right now, I'm creating a cube and adding it to a X,Y position using this code:
     

    active_camera = self._controller.getScene().getActiveCamera()
    picking_pass = PickingPass(active_camera.getViewportWidth(), active_camera.getViewportHeight())
    picking_pass.render()
    
    picked_position = picking_pass.getPickedPosition(event.x, event.y)

    After that, the script creates a cube kinda manually (I'm basing myself on the SupportEraser plugin) with a value entered by the user. Thus, the cube has the same width, height and depth.
    What I want to do is to make it as big in the Z axis as necessary so that it touches the build plate , and the user can see what it'd look like once it's processed.

    Is there a way to scale it enough?

     

    Thanks!

×
×
  • Create New...