Gratis Ruby-bibliotheek om AutoCAD DWG-tekeningen te lezen en te schrijven
Open source Ruby CAD-bibliotheek waarmee softwareontwikkelaars AutoCAD 3D-bestanden kunnen creëren, bewerken, transformeren en manipuleren. Hiermee kunnen ze schonere, meer modulaire en herbruikbare code schrijven.
Wat is SolidRuby?
SolidRuby is een krachtige open-source Ruby-bibliotheek die softwareontwikkeling koppelt aan CAD-modellering (Computer-Aided Design). Het biedt een gespecialiseerde taal (DSL) in Ruby voor het maken van 3D-modellen, waardoor softwareontwikkelaars applicaties kunnen bouwen die naadloos integreren met diverse CAD-diagrammen. Als u tools wilt ontwikkelen voor parametrisch ontwerp, 3D-printprocedures of aangepaste CAD-software, biedt SolidRuby een solide basis voor uw projecten. Bovendien kunt u de bibliotheek integreren in uw projecten om toegang te krijgen tot uitgebreide functionaliteiten zoals het maken van dynamische 3D-modellen, het gebruiken van interactieve CAD-bewerkingstools, het opzetten van geautomatiseerde ontwerpsystemen of het ontwerpen van aangepaste 3D-printpijplijnen.
SolidRuby is ontwikkeld op basis van OpenSCAD, een bekende CAD-tool die afhankelijk is van scripts. Hoewel OpenSCAD een eigen scripttaal heeft, profiteert het van de eenvoud en flexibiliteit van Ruby's syntaxis voor CAD-modellering. Met SolidRuby kunnen ontwikkelaars gestructureerde, herbruikbare en eenvoudig te beheren code schrijven om 3D-modellen te beschrijven en transformaties uit te voeren. De tool genereert bestanden in OpenSCAD-formaat. U kunt deze converteren naar STL-bestanden voor 3D-printen of andere taken. De software bevat een krachtig systeem voor afhankelijkheidsinjectie, waarmee u afhankelijkheden tussen objecten soepel kunt verwerken. Deze functie vereenvoudigt het testen, onderhouden en schalen van uw apps. De parametrische functies van SolidRuby zijn ideaal voor taken waarbij dynamische modelcreatie nodig is. Met zijn expressieve Ruby DSL en handige functies zoals parametrisch modelleren, Booleaanse bewerkingen en soepele OpenSCAD-integratie is deze tool zeer veelzijdig en kan hij voor diverse taken worden gebruikt.
Aan de slag met SolidRuby
De aanbevolen manier om SolidRuby te installeren is via GitHub. Om ermee te werken, voer de volgende opdracht uit om de Aspose.CAD Cloud SDK voor Ruby aan je project toe te voegen.
Installeer SolidRuby via GitHub
git clone https://github.com/MC-Squared/SolidRuby.git
Je kunt het ook handmatig installeren; download de nieuwste releasebestanden rechtstreeks van de GitHub-repository.
Dynamische 3D-modelgeneratie via Ruby
De open-source SolidRuby-bibliotheek maakt het mogelijk om parametrische modellen te maken die zich dynamisch kunnen aanpassen op basis van gebruikersinvoer of applicatielogica. Ruby-ontwikkelaars kunnen applicaties bouwen waarbij gebruikers afmetingen, materialen of andere parameters specificeren, waarna de app de bijbehorende CAD-bestanden in realtime genereert binnen Ruby-applicaties. Het volgende voorbeeld laat zien hoe een e-commerceplatform dat aanpasbare dozen verkoopt, SolidRuby kan gebruiken om dynamisch ontwerpen te genereren met behulp van Ruby-code.
Hoe genereer ik een holle doos met aanpasbare afmetingen in Ruby-apps?
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)
Aangepaste 3D-printpijplijnen
De SolidRuby-bibliotheek kan een essentieel onderdeel zijn van een 3D-printworkflow, waar deze modellen genereert op basis van specifieke vereisten. Softwareontwikkelaars kunnen de bibliotheek integreren in pijplijnen voor het voorbereiden, optimaliseren en exporteren van CAD-bestanden. Het volgende voorbeeld laat zien hoe ontwikkelaars ervoor kunnen zorgen dat modellen zijn uitgelijnd of geschaald voor specifieke printers voordat ze worden geëxporteerd.
Hoe optimaliseer je een model voor afdrukken in Ruby-apps?
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-diagramtransformaties via Ruby
De open-source SolidRuby-bibliotheek maakt het voor softwareontwikkelaars eenvoudig om 3D-diagrammen te transformeren met slechts een paar regels code in Ruby-applicaties. De bibliotheek ondersteunt transformaties zoals translaties, rotaties en schaling, waardoor nauwkeurige plaatsing en oriëntatie van modellen mogelijk is. Het volgende voorbeeld laat zien hoe softwareontwikkelaars transformaties programmatisch kunnen toepassen op diagrammen met behulp van Ruby-opdrachten.
Hoe pas ik transformaties toe op 3D-diagrammen in Ruby-apps?
translate([10, 0, 0]) do
sphere(5)
end
rotate([0, 0, 45]) do
cube([10, 10, 5])
end