PHP-bibliotek til læsning & skrivning af AutoCAD DXF-filer
Open source PHP CAD-bibliotek, der gør det muligt for programmører at læse, redigere og skrive AutoCAD DXF-filer. Det understøtter grundlæggende DXF-eksport & læsning af linjer fra fil.
Hvad er DXFighter-biblioteket?
Er du en udvikler, der arbejder med CAD-data i webbaserede applikationer, er DXFighter et uundværligt værktøj. Det er et letvægts, gratis DXF PHP API designet specifikt til håndtering af AutoCAD DXF-filer i PHP. Denne open-source løsning er perfekt for alle, der ønsker at generere DXF-tegninger eller læse DXF-filer uden at være afhængige af tung, platformafhængig CAD-software. DXF (Drawing Exchange Format), udviklet af Autodesk, er et bredt anvendt format til CAD-interoperabilitet. DXFighter fungerer som et praktisk og effektivt PHP AutoCAD-bibliotek, der giver dig direkte kontrol over DXF-enheder i dine applikationer. Selvom det ikke understøtter den nyeste DXF-version, er det ideelt til grundlæggende eksport og letvægts CAD-arbejdsprocesser.
Med DXFighter kan udviklere nemt tegne og læse almindelige diagramelementer. Det understøtter oprettelse og læsning af buer, cirkler, ellipser, linjer, polylinjer, punkter, splines, tekst og indsættelser. Disse grafiske komponenter (kendt som enheder) repræsenterer det visuelle indhold i enhver DXF-fil. Uanset om du bygger en simpel CAD-fremviser, automatiserer eksport af tekniske tegninger eller laver formbaserede diagrammer, leverer DXFighter de nødvendige byggesten. Dets brugervenlige API gør det tilgængeligt selv for dem, der er nye inden for CAD-programmering, og med en tilladende BSD 3-Clause-licens er det gratis at bruge i både personlige og kommercielle projekter.
Kom i gang med DXFighter
Den anbefalede måde at installere DXFighter på er via GitHub. Brug venligst følgende kommando for en problemfri installation.
Klon DXFighter via NuGet GitHub
git clone https://github.com/enjoping/DXFighter.git Du kan også installere det manuelt; download de seneste udgivelsesfiler direkte fra GitHub-lageret.
Generer AutoCAD DXF-tegning via PHP-bibliotek
Det open source DXFighter-bibliotek har indarbejdet fuld funktionalitet til at generere AutoCAD DXF-dokumenter i PHP-applikationer. Når DXF-filen er oprettet, kan brugerne tilføje og administrere forskellige typer af enheder i tegningerne såsom buer, cirkler, ellipser, linjer, WPolyline, punkter, polyline, tekst, spline og indsættelse. På nuværende tidspunkt tillader biblioteket kun at tilføje enheder og opdatere deres egenskaber, andre vil følge snart.
Hvordan genererer man AutoCAD DXF via PHP API?
require_once('DXFighter.php');
$fighter = new \DXFighter\DXFighter(); //Create an Instance of the DXFighter class
$fighter->addEntity(new \DXFighter\lib\Line(array(0, 0, 0), array(10, 10, 0))); //Draw a line from Point (0|0|0) to (10|10|0)
$fighter->addEntity(new \DXFighter\lib\Circle(array(5, 0, 0), 3)); //Draw a circle centered on (5|0|0) with a radius of 3
$fighter->to_string(); //Output the DXF using echo
$fighter->saveAs('dxfighter.dxf'); //Write the DXF to a file named dxfighter.dxf
Læsning af AutoCAD DXF-filer i PHP-apps
DXFighter-biblioteket har inkluderet en kraftfuld læser, der gør det muligt for softwareudviklere at åbne og læse indholdet af AutoCAD DXF-dokumenter med kun et par linjer kode. På nuværende tidspunkt har biblioteket inkluderet understøttelse af at læse nogle vigtige enheder såsom ellipser, linjer, polyline, tekst, spline og indsættelse.
Sådan læser du linjer fra DXF-fil via PHP API
Det open source DXFighter-bibliotek giver softwareudviklere mulighed for at åbne et AutoCAD DXF-dokument og læse nogle linjer fra det ved kun at bruge et par PHP-kommandoer. For at udføre denne opgave skal brugeren hente Line-objektet fra Entities-arrayet og få adgang til dets egenskaber. Følgende eksempel demonstrerer, hvordan man læser linjer fra en DXF-fil.
Hvordan læser man linjer fra DXF-fil via PHP API?
use DXFighter\DXFighter;
$dxf = new DXFighter('some-file.dxf');
echo "Loaded OK.\n";
$entities = $dxf->getEntities();
$line = $entities[0];
$end = $line->getEnd();
echo "Saw line to {$end[0]},{$end[1]},{$end[2]}\n";