Gyors kezdés
Kulcstól az első vágási tervig néhány perc: szerezz kulcsot, küldj egy kérést, olvasd ki a választ.
1. Szerezz kulcsot
Jelentkezz be, és hozz létre ingyenes tesztkulcsot a vezérlőpulton: havi 1000 hívás, sosem számlázzuk. Élő kulcs Engine API-csomaggal jár. Ha előtte csak körülnéznél, az útmutatók „Run this example” gombjai nyilvános demókulcsot használnak, fiók nélkül.
2. Küldj egy kérést
POST-tal küldd a darabokat és a táblákat a /v1/optimize/2d címre, a kulcs az Authorization fejlécben. Ez a dokumentált példa:
curl -s https://api.cutoptim.com/v1/optimize/2d \
-H "Authorization: Bearer $CUTOPTIM_KEY" \
-H "Content-Type: application/json" \
-d '{"parts":[{"name":"Door","w":600,"h":400,"qty":4,"rotatable":true}],"stock":[{"w":2440,"h":1220,"qty":10,"price":42}],"options":{"kerf":3,"trim":{"left":10,"top":10},"minimizeCost":true,"effort":"balanced"},"engine":"heuristic","include":["cutPlan","offcuts"]}'Vagy SDK-val
Ugyanez a kérés a hivatalos TypeScript-, Python- vagy PHP-klienssel: biztonságos újrapróbálást és típusos hibát ad hozzá. A telepítés és a többi az SDK-útmutatóban. Official SDKsEN
// npm install @cutoptim/engine
import { CutOptim } from '@cutoptim/engine';
const client = new CutOptim({ apiKey: process.env.CUTOPTIM_KEY });
const plan = await client.optimize2d({"parts":[{"name":"Door","w":600,"h":400,"qty":4,"rotatable":true}],"stock":[{"w":2440,"h":1220,"qty":10,"price":42}],"options":{"kerf":3,"trim":{"left":10,"top":10},"minimizeCost":true,"effort":"balanced"},"engine":"heuristic","include":["cutPlan","offcuts"]});# pip install cutoptim
import os
from cutoptim import CutOptim
client = CutOptim(api_key=os.environ["CUTOPTIM_KEY"])
plan = client.optimize_2d({"parts":[{"name":"Door","w":600,"h":400,"qty":4,"rotatable":True}],"stock":[{"w":2440,"h":1220,"qty":10,"price":42}],"options":{"kerf":3,"trim":{"left":10,"top":10},"minimizeCost":True,"effort":"balanced"},"engine":"heuristic","include":["cutPlan","offcuts"]})// composer require cutoptim/engine
use CutOptim\Engine\Client;
$client = new Client(getenv('CUTOPTIM_KEY'));
$plan = $client->optimize2d(json_decode('{"parts":[{"name":"Door","w":600,"h":400,"qty":4,"rotatable":true}],"stock":[{"w":2440,"h":1220,"qty":10,"price":42}],"options":{"kerf":3,"trim":{"left":10,"top":10},"minimizeCost":true,"effort":"balanced"},"engine":"heuristic","include":["cutPlan","offcuts"]}', true));3. Olvasd ki a választ
A sheets minden táblát felsorol az elhelyezett darabokkal (x, y, w, h, rotated) és a maradékokkal; a metrics adja a sheetCount és a yieldPct értéket; a cutPlan a fűrészelési sorrend. Ha nem fér el minden, az is 200 — nézd meg az unplaced és a warnings mezőt.
{
"engine": "heuristic",
"sheets": [
{
"w": 2440,
"h": 1220,
"price": 42,
"parts": [
{
"name": "Door",
"x": 10,
"y": 10,
"w": 600,
"h": 400,
"rotated": false
},
{
"name": "Door",
"x": 613,
"y": 10,
"w": 600,
"h": 400,
"rotated": false
}
],
"offcuts": [
{
"x": 2422,
"y": 10,
"w": 18,
"h": 400
}
]
}
],
"metrics": {
"sheetCount": 1,
"yieldPct": 32.25,
"placed": 4,
"total": 4,
"cutLines": 5,
"sawPasses": 5,
"cutLength": 4030,
"totalPrice": 42
},
"unplaced": [],
"warnings": []
}Tovább
Ingyen ellenőrizheted a kérést a /v1/validate/2d végponttal, mielőtt hívást költesz rá; próbáld ki az 1D-t és a fát, és nézd meg az összes végpontot az interaktív referenciában.