2016-01-14 10 views
0

J'essaye de créer une forme de "coupe" (creux avec une extrémité ouverte) avec des prismes octogonaux (en utilisant la fonction polyhedron). Lorsque je rends mon code, OpenSCAD ne restitue pas les faces inférieure et intérieure. Qu'est-ce que je fais mal?Créer une "cup" avec des polyèdres dans openSCAD

Merci!

Mon code:

difference() { 
    polyhedron(points = [ [21.5,51.9,0],[51.9,21.5,0], 
    [-21.5,51.9,0],[-51.9,21.5,0], 
    [-21.5,-51.9,0],[-51.9,-21.5,0], 
    [21.5,-51.9,0],[51.9,-21.5,0], 
    [21.5,51.9,100],[51.9,21.5,100], 
    [-21.5,51.9,100],[-51.9,21.5,100], 
    [-21.5,-51.9,100],[-51.9,-21.5,100], 
    [21.5,-51.9,100],[51.9,-21.5,100] ], faces = [ 
    [0,1,9,8],[2,0,8,10],[3,2,10,11],[5,3,11,13], 
    [4,5,13,12],[6,4,12,14],[7,6,14,15],[1,7,15,9], 
    [0,1,7,6,4,5,3,2],[8,9,15,14,12,13,11,10] ]); 

    polyhedron(points = [ [19,49.4,5],[49.4,19,5], 
    [-19,49.4,5],[-49.4,19,5], 
    [-19,-49.4,5],[-49.4,-19,5], 
    [19,-49.4,5],[49.4,-19,5], 
    [19,49.4,100],[49.4,19,100], 
    [-19,49.4,100],[-49.4,19,100], 
    [-19,-49.4,100],[-49.4,-19,100], 
    [19,-49.4,100],[49.4,-19,100] ], faces = [ 
    [0,1,9,8],[2,0,8,10],[3,2,10,11],[5,3,11,13], 
    [4,5,13,12],[6,4,12,14],[7,6,14,15],[1,7,15,9], 
    [0,1,7,6,4,5,3,2],[8,9,15,14,12,13,11,10] ]); 
} 

Une image de mes problèmes de rendu:

enter image description here

Répondre

1

si vous utilisez polyhedron() vous devriez toujours vérifier l'orientation des faces comme décrit ici: documentation openscad

vous verrez, que dans les deux cas, l'orientation du fond-f as est faux, voici votre polyhedron() intérieur:

wrong orientated bottom-face

Remplacer [0,1,7,6,4,5,3,2] pour les bas-faces par [2,3,5,4,6,7,1,0] et vous obtenez votre tasse: enter image description here

+0

Merci! J'apprends encore et j'ai probablement lu cette ligne sur le wiki 3-4 fois quand je construisais ça, mais d'une façon ou d'une autre ça m'a échappé. – ZuluDeltaNiner