# Přidání vlastních funkcí

### Panely jazyků HTML, JavaScript a CSS

Když kliknete na tlačítko Edit (Upravit) ve vzorovém modulu plug-in Plugin Playground, uvidíte panely HTML, JavaScript (JS) a CSS. Panel HTML (vlevo) umožňuje upravit uživatelské rozhraní modulu plug-in. Panel JS (uprostřed) umožňuje psát funkce, které mohou komunikovat s aplikací FormIt pomocí rozhraní API modulu plug-in FormIt JS. Pomocí panelu CSS (vpravo) můžete definovat styl HTML.

![](https://326322124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEXAGrhaHVrX0zE5Bglbq%2Fuploads%2Fgit-blob-0c355ca13f62c66c6a4d6826a6747c454b5b6101%2Fimage%20\(27\).png?alt=media)

### Přidání funkce pro vytvoření válce

Přidejte do tohoto modulu plug-in funkci pro vytvoření válce.

Nejprve nakonfigurujte vstupní pole a tlačítko uživatelského rozhraní v panelu HTML. Zkopírujte následující kód a vložte jej za řádek 23 a před řádek *\<!-- Do not remove below scripts unless you know what you're doing- - >*

Tím do modulu plug-in přidáte některé základní prvky uživatelského rozhraní.

```
<p>Cylinder: Create a cylinder at the origin.</p>
<div>
    <input id="Radius" type=number value=2 />
    <label>Radius</label>
</div>

<div>
    <input id="CHeight" type=number value =0.5 />
    <label>Height</label>
</div>


<input id="CreateCylinderBtn" type=button value="Create Cylinder" />
```

![](https://326322124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEXAGrhaHVrX0zE5Bglbq%2Fuploads%2Fgit-blob-3d646a2b6bb83d018d3a69ce74191f50352f937d%2Fimage%20\(86\).png?alt=media)

Nyní přidejte dvě funkce na panelu JS. Zkopírujte následující kód a vložte jej na konec souboru (za řádek 16).

Tento kód umožní v pracovním prostoru aplikace FormIt vytvořit válec.

```
// Create cylinder
const createCylinder = async (r,h) =>
{
    const posCenter = await WSM.Geom.Point3d(0,0,0);

    const histID = await FormIt.GroupEdit.GetEditingHistoryID();
    console.log(histID,posCenter,r,h);

    const cyl = await WSM.APICreateCylinder(histID,posCenter,r,h);
}


// Execute function when 'create cylinder' button is clicked
document.getElementById("CreateCylinderBtn").addEventListener("click", ()=>
{
    console.log('create cylinder clicked')

    const r = Number(document.getElementById("Radius").value);
    const h = Number(document.getElementById("CHeight").value);

    createCylinder(r,h);

});
```

![](https://326322124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEXAGrhaHVrX0zE5Bglbq%2Fuploads%2Fgit-blob-2b5b8e5015b72f1a6d664a6bf7403a66da6e88a9%2Fimage%20\(82\).png?alt=media)

### Spuštění a náhled

Až si budete chtít prohlédnout výsledky, klikněte znovu na tlačítko Přehrát ![](https://326322124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEXAGrhaHVrX0zE5Bglbq%2Fuploads%2Fgit-blob-5869b9d4fb33908291738216de1304c34456b4a5%2Fimage%20\(81\).png?alt=media) a na stejném panelu se zobrazí aktualizace modulu plug-in.

![](https://326322124-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEXAGrhaHVrX0zE5Bglbq%2Fuploads%2Fgit-blob-748e945427f07642202ad5150021dc7f8c95fd35%2Fimage%20\(14\).png?alt=media)

### Rozhraní API modulů plug-in pro aplikaci FormIt

Úplnou dokumentaci k rozhraní API modulů plug-in pro aplikaci FormIt naleznete v části [užitečné odkazy](https://windows.help.formit.autodesk.com/cs/plugins/useful-links).
