Nemokama „Ruby“ biblioteka, skirta skaityti ir rašyti AutoCAD DWG brėžinius
Atvirojo kodo „Ruby CAD“ biblioteka, leidžianti programinės įrangos kūrėjams kurti, redaguoti, transformuoti ir manipuliuoti „AutoCAD“ 3D failais. Ji leidžia rašyti švaresnį, modulinį ir daugkartinio naudojimo kodą.
Kas yra „SolidRuby“?
„SolidRuby“ yra galinga atvirojo kodo „Ruby“ biblioteka, jungianti programinės įrangos kūrimą su CAD (kompiuterinio projektavimo) modeliavimu. Ji siūlo specializuotą kalbą (DSL) „Ruby“ kalba, skirtą 3D modeliams kurti, suteikdama programinės įrangos kūrėjams galimybę kurti programas, kurios sklandžiai integruojasi su įvairiomis CAD diagramomis. Jei siekiate kurti parametrinio projektavimo, 3D spausdinimo procedūrų ar pritaikytos CAD programinės įrangos įrankius, „SolidRuby“ siūlo tvirtą pagrindą jūsų projektams. Be to, turite galimybę įtraukti biblioteką į savo projektus, kad atrakintumėte patobulintas funkcijas, pvz., dinaminių 3D modelių kūrimą, interaktyvių CAD redagavimo įrankių naudojimą, automatizuotų projektavimo sistemų nustatymą arba pritaikytų 3D spausdinimo procesų projektavimą.
„SolidRuby“ sukurta remiantis „OpenSCAD“ – gerai žinoma CAD priemone, kuri remiasi scenarijais. Nors „OpenSCAD“ turi savo scenarijų kalbą, ji naudojasi „Ruby“ sintaksės paprastumu ir lankstumu CAD modeliavimui. Naudodami „SolidRuby“, kūrėjai gali kurti struktūrizuotą, daugkartinio naudojimo ir lengvai valdomą kodą 3D modeliams aprašyti ir transformacijoms atlikti. Įrankis generuoja failus „OpenSCAD“ formatu. Juos galite konvertuoti į STL failus 3D spausdinimui ar kitoms užduotims atlikti. Programinė įranga apima stiprią priklausomybių įterpimo sistemą, kuri padeda sklandžiai valdyti objektų priklausomybes. Ši funkcija supaprastina programų testavimą, priežiūrą ir mastelio keitimą. „SolidRuby“ parametrinės funkcijos puikiai tinka užduotims, kurioms reikia dinaminio modelio kūrimo. Turėdamas išraiškingą „Ruby DSL“ ir patogias funkcijas, tokias kaip parametrinis modeliavimas, loginės operacijos ir sklandi „OpenSCAD“ integracija, šis įrankis yra gana universalus ir gali būti naudingas įvairioms užduotims.
Darbo su „SolidRuby“ pradžia
Rekomenduojamas „SolidRuby“ diegimo būdas yra naudoti „GitHub“. Norėdami dirbti su juo, paleiskite šią komandą, kad į savo projektą pridėtumėte „Aspose.CAD Cloud SDK for Ruby“.
Įdiekite „SolidRuby“ per „GitHub“
git clone https://github.com/MC-Squared/SolidRuby.git
Taip pat galite įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.
Dinaminis 3D modelių generavimas naudojant „Ruby“
Atvirojo kodo „SolidRuby“ biblioteka leidžia kurti parametrinius modelius, kurie gali dinamiškai prisitaikyti pagal vartotojo įvestis arba programos logiką. „Ruby“ kūrėjai gali kurti programas, kuriose vartotojai nurodo matmenis, medžiagas ar kitus parametrus, o programa realiuoju laiku „Ruby“ programose generuoja atitinkamus CAD failus. Toliau pateiktame pavyzdyje parodyta, kaip el. prekybos platforma, parduodanti pritaikomas dėžes, gali naudoti „SolidRuby“, kad dinamiškai generuotų dizainus naudodama „Ruby“ kodą.
Kaip „Ruby“ programose sukurti tuščiavidurę dėžę su reguliuojamais matmenimis?
require 'solidruby'
def generate_box(length, width, height, thickness)
difference do
cube([length, width, height])
translate([thickness, thickness, thickness]) do
cube([length - 2 * thickness, width - 2 * thickness, height - 2 * thickness])
end
end
end
box_model = generate_box(30, 20, 10, 2)
File.write("box_model.scad", box_model.to_s)
Individualūs 3D spausdinimo srautai
„SolidRuby“ biblioteka gali būti pagrindinė 3D spausdinimo darbo eigos dalis, kur ji generuoja modelius pagal konkrečius reikalavimus. Programinės įrangos kūrėjai gali ją integruoti į srautus, skirtus CAD failams parengti, optimizuoti ir eksportuoti. Toliau pateiktame pavyzdyje parodyta, kaip kūrėjai gali užtikrinti, kad modeliai būtų sulygiuoti arba pritaikyti prie konkrečių spausdintuvų prieš juos eksportuodami.
Kaip optimizuoti modelį spausdinimui „Ruby“ programose?
require 'solidruby'
# Define the model
model = union do
cube([20, 20, 20])
translate([10, 10, 10]) { sphere(15) }
end
# Apply a small transformation for printer alignment
optimized_model = translate([0, 0, 2]) { model }
File.write("optimized_model.scad", optimized_model.to_s)
3D diagramų transformacijos naudojant „Ruby“
Atvirojo kodo „SolidRuby“ biblioteka leidžia programinės įrangos kūrėjams lengvai transformuoti 3D diagramas vos keliomis kodo eilutėmis „Ruby“ programose. Ji palaiko tokias transformacijas kaip perkėlimai, pasukimai ir mastelio keitimas, todėl galima tiksliai išdėstyti ir orientuoti modelius. Šiame pavyzdyje parodyta, kaip programinės įrangos kūrėjai gali programiškai pritaikyti transformacijas diagramoms naudodami „Ruby“ komandas.
Kaip pritaikyti transformacijas 3D diagramoms „Ruby“ programose?
translate([10, 0, 0]) do
sphere(5)
end
rotate([0, 0, 45]) do
cube([10, 10, 5])
end