Trouve la paire de points, un sur chaque forme, qui sont les plus proches l'un de l'autre.
La distance entre eux est l'écart entre les formes ; elle vaut 0 quand elles se touchent ou se chevauchent. Lève une erreur quand aucune paire ne peut être trouvée.
Les deux formes
Le point sur la première forme et le point sur la seconde
Trouve, pour chaque point d'une liste, le point le plus proche sur une forme.
Un point déjà sur la forme se projette sur lui-même. Utile pour accrocher des points sur une surface.
La forme et les points
Un point sur la forme par point d'entrée, dans le même ordre
Trouve le point le plus proche sur chacune de plusieurs formes pour chaque point d'une liste.
Le résultat est une seule liste plate : tous les points pour la première forme, dans l'ordre des points, puis tous les points pour la seconde forme, et ainsi de suite.
Les formes et les points
Les points les plus proches, regroupés forme par forme
Coupe une forme en morceaux avec d'autres formes, comme un couteau tranche un pain, sans retirer de matière.
Avec nonDestructive vrai, la valeur par défaut, les entrées sont laissées intactes et le résultat contient
les morceaux de chaque forme impliquée, découpeurs compris ; avec faux, seuls les morceaux de
shape reviennent. localFuzzyTolerance permet à une géométrie qui se touche presque de compter comme se touchant.
La forme à découper, les formes avec lesquelles la découper et les options
Les morceaux
Coupe un solide en tranches parallèles le long d'une direction, comme un pain, toutes les step unités du
modèle du bas de la forme vers le haut.
Chaque tranche est la section plane où un plan de coupe rencontre le solide ; elles reviennent ensemble dans un seul composé. La forme doit être ou contenir des solides, sinon une erreur est levée.
La forme, la distance entre les tranches et la direction de tranchage
Un composé des faces de section
Coupe un solide en tranches parallèles comme slice, mais avec un motif répété d'écarts entre
elles, tel que 0.1, 0.5, 0.1, 0.5.
Le motif est appliqué du bas de la forme vers le haut et se répète jusqu'à atteindre le sommet.
La forme, le motif d'écarts et la direction de tranchage
Un composé des faces de section
Balaye une forme en ligne droite le long d'un vecteur, dont la longueur est la distance : une face devient un solide, un fil une coque, une arête une face.
La forme elle-même reste au départ de l'extrusion ; le vecteur est en unités du modèle, [0, 10, 0] extrude donc de 10 unités vers le haut.
La forme et le vecteur de direction, dont la longueur est la distance
La forme extrudée
Balaye plusieurs formes le long du même vecteur, comme extrude le fait pour une seule.
Les formes et le vecteur de direction, dont la longueur est la distance
Les formes extrudées, dans le même ordre
Extrude une forme plane vers le haut le long de Y de height tout en la tordant de angle degrés autour de l'axe
Y, comme une colonne torse.
La forme doit être posée à plat, comme le sont les profils que ce paquet crée. Avec makeSolid vrai,
la valeur par défaut, un profil de face donne un solide fermé ; un fil donne une coque torsadée.
La forme de profil, la hauteur, l'angle de vrille en degrés et s'il faut faire un solide
L'extrusion vrillée
Construit une surface à travers une série de fils, comme une peau tendue sur des nervures : chaque fil est une section et la surface passe par elles dans l'ordre de la liste.
Les arêtes sont acceptées comme fils à une seule arête. Avec makeSolid vrai et des sections fermées, le résultat
est fermé en un solide ; sinon c'est une coque. Les sections se correspondent le mieux avec des nombres d'arêtes
égaux.
Les fils ou arêtes de section, dans l'ordre, et s'il faut faire un solide
La coque ou le solide lissé
const bottom = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
const upper = await bitbybit.occt.shapes.wire.createSquareWire({ size: 6, center: [0, 10, 0], direction: [0, 1, 0] });
const vase = await bitbybit.occt.operations.loft({ shapes: [bottom, upper], makeSolid: true });
Construit une surface à travers une série de fils comme loft, avec un contrôle sur la façon dont la peau est
ajustée.
straight fait des carreaux réglés entre les sections au lieu d'une transition lisse ; closed boucle la
surface de la dernière section à la première, et periodic rend cette boucle lisse en
rééchantillonnant les sections. startVertex et endVertex ferment les extrémités en points.
Les fils ou arêtes de section, s'il faut faire un solide, les options de fermeture et de lissage et des points d'extrémité facultatifs
La coque ou le solide lissé
const cone = await bitbybit.occt.operations.loftAdvanced({
shapes: [circleBottom, circleMiddle],
makeSolid: true,
closed: false,
periodic: false,
straight: false,
nrPeriodicSections: 10,
useSmoothing: false,
maxUDegree: 3,
tolerance: 1e-7,
parType: Bit.Inputs.OCCT.approxParametrizationTypeEnum.approxCentripetal,
endVertex: [0, 20, 0],
});
Mesure la distance de chaque point d'une liste à une forme, comme la distance en ligne droite au point le plus proche sur elle, en unités du modèle.
La distance est à la surface de la forme, un point à l'intérieur d'un solide rapporte donc quand même sa distance à la peau.
La forme et les points
Une distance par point, dans le même ordre
Calcule la boîte alignée sur les axes qui englobe une forme : ses coins minimum et maximum, son centre et sa taille le long de X, Y et Z.
Sur les formes courbes, la boîte peut être un peu plus grande que la forme elle-même, parce que le noyau borne la géométrie de contrôle plutôt que la surface exacte.
La forme
La boîte sous forme de min, max, center et size
Lit le coin minimum de la boîte englobante alignée sur les axes d'une forme, le point de plus petits X, Y et Z.
La forme
Le coin minimum
Lit le coin maximum de la boîte englobante alignée sur les axes d'une forme, le point de plus grands X, Y et Z.
La forme
Le coin maximum
Lit le centre de la boîte englobante alignée sur les axes d'une forme, à mi-chemin entre ses deux coins.
Ce n'est pas le centre de masse ; shapes.solid.getSolidCenterOfMass et ses semblables donnent
celui-ci.
La forme
Le centre de la boîte
Lit la taille de la boîte englobante alignée sur les axes d'une forme le long de X, Y et Z, en unités du modèle.
La forme
La largeur, la hauteur et la longueur de la boîte
Construit la boîte englobante alignée sur les axes d'une forme sous forme de solide en boîte, pratique pour la dessiner ou l'utiliser dans une opération booléenne.
La forme
Le solide de la boîte
Calcule une sphère qui englobe une forme : elle est centrée sur la boîte englobante et atteint ses coins, elle contient donc toujours la forme mais n'est pas la plus petite sphère possible.
La forme
La sphère sous forme de center et radius
Lit le centre de la sphère englobante d'une forme, qui est le centre de sa boîte englobante.
La forme
Le centre de la sphère
Lit le rayon de la sphère englobante d'une forme, la distance du centre de la boîte englobante à son coin, en unités du modèle.
La forme
Le rayon
Construit la sphère englobante d'une forme sous forme de solide sphérique.
La forme
Le solide de la sphère
Déplace la frontière d'une forme vers l'extérieur, ou vers l'intérieur pour une distance négative, d'une distance fixe : un fil grandit en un contour parallèle, une face ou un solide en un plus grand.
Un fil ou une arête est décalé dans son propre plan, ou sur face quand elle est donnée ; les coins sont arrondis. Une
distance de 0 renvoie la forme telle quelle.
La forme, une face facultative sur laquelle décaler un fil, la distance et la tolérance
La forme décalée
Décale une forme comme offset, avec un choix de la façon dont les coins sont joints : arc les arrondit,
intersection prolonge les côtés jusqu'à un coin vif, tangent les garde tangents.
removeIntEdges supprime les arêtes internes que le décalage peut laisser sur un solide.
La forme, une face facultative sur laquelle décaler un fil, la distance, la tolérance, le type de jonction des coins et s'il faut supprimer les arêtes internes
La forme décalée
Donne une épaisseur à une face ou une coque, la transformant en une dalle ou une paroi solide de l'offset
donné.
Un décalage positif épaissit vers la normale de la surface, un négatif dans l'autre sens. Utilisez-le pour transformer une peau lissée ou balayée en quelque chose d'imprimable.
La face ou la coque et l'épaisseur
Le solide épais
Évide un solide en une coque de l'épaisseur de paroi donnée en retirant les faces listées et en décalant le reste.
Retirer la face du haut d'une boîte, par exemple, donne un gobelet ouvert. offset est l'épaisseur
de paroi, négative pour croître vers l'intérieur ; joinType dit comment les parois décalées se rejoignent aux coins, les
autres indicateurs vont au constructeur de solides épais du noyau.
Le solide, les faces à supprimer, l'épaisseur de paroi, la tolérance et les options de jonction
Le solide évidé
const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
const cup = await bitbybit.occt.operations.makeThickSolidByJoin({
shape: box,
shapes: [faces[0]],
offset: -1,
tolerance: 1e-3,
intersection: false,
selfIntersection: false,
joinType: Bit.Inputs.OCCT.joinTypeEnum.arc,
removeIntEdges: false,
});
Décale un fil qui ne se trouve pas dans un seul plan, en l'extrudant le long de direction, en épaississant
le résultat et en relisant l'arête décalée dessus.
Cela fonctionne le mieux sur des fils lisses ; arrondissez d'abord les coins vifs avec fillets.fillet3DWire. Quand
les arêtes décalées ne peuvent pas être jointes en un seul fil, elles reviennent sous forme de liste d'arêtes.
Le fil, la distance de décalage et la direction d'extrusion
Le fil décalé, ou les arêtes isolées quand elles n'ont pas pu être assemblées
Balaye une ou plusieurs formes de profil le long d'un fil de chemin et ferme le résultat en un solide.
Les profils doivent être placés sur le chemin ; avec plusieurs profils, le balayage passe progressivement de l'un au suivant en chemin.
Le fil de chemin et les formes de profil placées dessus
Le solide balayé
Balaye un polygone régulier le long d'un fil, donnant un tube à nrCorners côtés plats, par
exemple une barre hexagonale le long d'un chemin.
Le polygone de radius est placé au début du fil, perpendiculairement à lui. makeSolid
donne un solide au lieu d'une coque, trihedronEnum choisit comment le profil tourne le long du
chemin, et forceApproxC1 lisse le résultat.
Le fil de chemin, le rayon et le nombre de coins du polygone, et les options de balayage
Le solide ou la coque balayé
Balaye un cercle le long de chacun de plusieurs fils, comme pipeWireCylindrical le fait pour un seul, tous avec
le même rayon et les mêmes options.
Les fils de chemin, le rayon et les options de balayage
Un tube par fil, dans le même ordre
Balaye un cercle le long d'un fil, donnant un tube rond du rayon donné qui suit le chemin.
Le cercle est placé au début du fil, perpendiculairement à lui. makeSolid donne un solide
au lieu d'une coque, trihedronEnum choisit comment le profil tourne en suivant le chemin, et
forceApproxC1 lisse le résultat.
Le fil de chemin, le rayon et les options de balayage
Le tube sous forme de solide ou de coque
Fait tourner une forme autour d'un axe passant par l'origine pour balayer une surface ou un solide : une face donne un solide, un fil une coque.
angle est en degrés ; 360 ou plus donne un tour complet. L'axe suit direction : un
profil à côté de l'axe Y tourné autour de lui donne un vase. Le profil ne doit pas le croiser.
La forme de profil, l'angle en degrés, la direction de l'axe et s'il faut copier la géométrie
La forme de révolution
Les opérations de modélisation qui transforment les fils et faces OpenCascade en surfaces et solides et mesurent les formes : lissage à travers des sections, extrusion et révolution, balayage de profils le long de chemins, décalage, épaississement de coques en solides, tranchage et découpage, plus les boîtes englobantes, sphères englobantes et requêtes de point le plus proche. Les distances sont en unités du modèle et les angles en degrés ; chaque opération renvoie une nouvelle forme. Les opérations booléennes se trouvent dans
booleans, les arrondis dansfillets.