~/omacad

Omacad


Omacad – parametrisk CAD för Omarchy

Ett eget CAD-program jag byggt tillsammans med AI för min dator. Det är tänkt som Fusion 360 fast native på Linux: skissa, extrudera, runda kanter, kopiera hål, ändra något i historiken och se hela modellen räknas om.

Byggt i Python med Qt/OpenGL, manifold3d för solider och SolveSpace för skissvillkor. Fönstret följer Omarchys tema och typsnitt, så det byter färg med resten av skrivbordet.

Omacad med en modell och dess historik

En modell med fasade skruvhål, rundad kontur och en pinne – med trädet och tidslinjen synliga

Alla funktioner

Skissa på alltOrigin-plan, valfri plan yta eller egna plan. Linje, rektangel, cirkel, båge och slot med snäpp mot hörn, kanter och mittpunkter.Skriv måtten direktTab-fält medan du ritar. Mått och villkor (SolveSpace): horisontell, vertikal, tangent, lika, vinkel, avstånd med mera, med hjälptext i högerklicksmenyn.Extrude med pilDra i en pil i vyn eller skriv värdet. Symmetriskt, två sidor, *to face*, och en smart Auto som skär när du går in i materialet.Fillet och ChamferRaka kanter, cirklar (skruvhål, försänkningar) och hela konturer med rundade hörn. Inre och yttre kanter med förhandsvisning.Pattern och MirrorKopiera ett hål med sina fasningar jämnt fördelat, speglat till alla hörn eller runt en axel. På en rund kropp väljer du antal kopior och de sprids jämnt runt cirkeln. Förhandsvisning före OK.Section ViewSkär genom modellen vid ett plan eller en yta och skjut snittet tills du ser det du vill, med reglage, värde eller en pil. Sparas i trädet och slås av och på med ögat.Välj ytor självExtrude väljer inget åt dig: klicka på en yta och Shift+klicka för att lägga till eller ta bort fler, till exempel ringen och cirkeln i den.Offset PlaneVälj XY, XZ eller YZ och peka på en yta, även en cylinder. Planet läggs tangent mot ytan och går att skissa på.Sketch OffsetParallella kopior av linjer, former, cirklar och bågar med ett avstånd du skriver, med live-förhandsvisning.Parametrar och formlerDöp värden och använd dem i alla fält: bredd/2, 10-1, 2x(3+5).TidslinjeKlicka på ett steg för att ändra det, rulla tillbaka, stäng av steg. Allt efter räknas om.HögerpanelAlla dialoger ligger i en kolumn till höger som aldrig täcker modellen.TemaFöljer det aktiva Omarchy-temat och typsnittet automatiskt.Spara och exporteraProjektfiler (.omacad) och export till STL och OBJ för 3D-skrivare och Blender.

Skissa och sätt mått

Rita direkt på en yta. Skriv längd, bredd eller diameter med Tab medan du ritar och tryck Enter. Högerklicka på ett element för en guidad meny: avstånd från kanten, från mitten av en cirkel, vinkel mellan linjer. Skissen visar om den är helt bestämd.

Markera, flytta och ta bort med musen. O gör en offset av det markerade.

Extrude

Dra i pilen eller skriv avståndet, båda fungerar samtidigt. Förhandsvisningen visas i vyn och profilen väljs genom att klicka på den. Skriver du ett minus, eller når en yta, blir det en cut automatiskt (Auto), men du kan välja själv. Du kan även extrudera en hel yta för att ta bort till exempel flärpar.

Extrude med dragbar pil

Pilen i vyn och panelen till höger

Välj vilka ytor som extruderas

En ring med en liten cirkel inuti är två separata ytor. Klicka på en yta och Shift+klicka på nästa för att lägga till den, eller för att ta bort den igen. Du får hål eller hel skiva precis som du väljer, och inget väljs åt dig.

Två ytor valda med Shift+klick

Ringen och cirkeln i den, extruderade tillsammans

Fillet och Chamfer

Markera kanter och skriv storleken. Dubbelklick väljer hela loopen runt en yta. Hål och försänkningar fungerar, och en kontur med redan rundade hörn rundas hela vägen runt. Är radien större än hörnen blir hörnet en liten kupol i stället för att ge fel.

Fillet runt en hel kontur

Hela ovansidan rundas i ett svep, förhandsvisning i blått

Pattern och Mirror

Ta ett hål som redan har fasningar och kopiera det till alla hörn. Omacad räknar ut vad stegen gjorde med kroppen och upprepar det, och förhandsvisningen visar både det som skärs bort (rött) och det som läggs till (grönt). På en rund kropp (som en cylinder) sätter den kopiorna jämnt runt cirkeln, och du väljer hur många.

Section View

Se in i modellen: välj XY, XZ eller YZ, en yta eller ett eget plan och skjut snittet genom modellen med reglage, skrivet värde eller den blå pilen. Snittytan färgas så att insidan syns. Spara snittet så ligger det i trädet under Section Views, där ögat slår på och av det. Det ändrar bara vad du ser, inte modellen.

Section View sparad i trädet

Ett snitt genom modellen, med snittet i trädet till vänster

Offset Plane

Två klick: välj vilket av grundplanen planet ska vara parallellt med, och peka sedan på ytan det ska ligga mot. Ett plan skapas där, även mot en cylinder (då tangent mot toppen).

Offset Plane

Det orange planet följer ytan under musen

Parametrar och tidslinje

Ge värden namn och använd dem i alla talfält. Ändrar du ett värde räknas hela historiken om. Klicka på ett steg i tidslinjen för att redigera det eller rulla tillbaka modellen.

Så växte den

Solider och skisser

Box, cylinder, sfär och Extrude med förhandsvisning och profilval.

Skisstillstånd

Rita på ytor, snäpp mot kanter, mått och villkor, flytta och ångra.

Historik

Parametrar, formler och redigering av tidigare steg.

Kanter

Fillet och chamfer, även för cirklar, och hela konturer.

Kopiera och planera

Pattern/Mirror, Offset Plane och skisstillägg med förhandsvisningar.

Se och välja

Shift+klick för ytor, jämna kopior runt runda kroppar och Section View som sparas i trädet.

Under huven

  • Python 3.14, PySide6 (Qt6) och OpenGL direkt på Wayland
  • manifold3d ger vattentäta booleans för alla operationer
  • SolveSpace löser skissernas mått och villkor
  • Modellen är en tidslinje av steg som räknas om från början vid varje ändring
  • Projektfiler är vanlig JSON (.omacad)

Begränsningar just nu: fillet gäller inte koner eller delbågar, mönster och ytskisser följer inte med om kroppen ändras, och tidslinjeändringar går inte att ångra. Revolve, STEP och sammanställningar är på önskelistan.