Converti DWG, DXF, PLT, HPGL in PDF e TIFF su server Windows — senza AutoCAD.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CAD ConverterX è un SDK lato server che converte disegni DWG, DXF, DWF, PLT, HPGL, SVG e CGM in PDF, TIFF, JPEG, PNG, BMP, WMF e DXF — senza AutoCAD installato sul server. Funziona in modalità headless: nessuna interfaccia grafica, nessun messaggio, nulla da cliccare. Total CAD ConverterX include sia un binario a riga di comando sia un'interfaccia ActiveX/COM, quindi si integra con ASP, PHP, .NET, Python, Ruby, Java e qualsiasi altro backend compatibile con COM.
Formati di origine supportati: dxf, dwg, dwf, plt, hg, hgl, hpg, plo, hp, hpl, hpgl, hp1, hp2, hpgl2, gl2, spl, prn, svg, cgm.
Total CAD ConverterX ha opzioni uniche per convertire in batch diversi file CAD contemporaneamente:
Cerchi soluzioni basate su server? Scopri una gamma di prodotti server progettati per prestazioni robuste su CoolUtils Server Products.
Se hai bisogno di esempi su linguaggi di programmazione, ti preghiamo di contattarci. Creeremo qualsiasi esempio per te.
Gli agenti LLM (Claude, ChatGPT, Cursor, Cline) e i framework di retrieval (LangChain, LlamaIndex, Haystack) non leggono DWG o DXF — leggono testo. Total CAD ConverterX percorre un disegno CAD e scrive la sua struttura dei livelli, i metadati del cartiglio e il testo/le annotazioni incorporate come GitHub-Flavored Markdown con frontmatter strutturato e un sidecar opzionale compatibile con Docling, così un set di disegni atterra nel tuo vector store come testo ricercabile — e non come un binario opaco che il resto del tuo stack non riesce a indicizzare.
Ecco cosa ottieni puntando all'output Markdown:
##; entità di testo, testo su più righe (MTEXT), etichette di quota e annotazioni su quel livello sono elencate sotto di esso
#; le sezioni per livello sono annidate al suo interno
source_file, format (MIME — DWG/DXF/HPGL/ecc.), cad_version, unità di disegno (mm/pollici), conteggio livelli, conteggio fogli, attributi del cartiglio, generator, created e un binary_hash per la provenienza
.docling.json — JSON in schema Docling con conteggi di entità per livello, bounding box per entità (in modo che una citazione possa risalire alla posizione nel disegno), inventario dei riferimenti a blocchi e un array chunks_hint leggibile dal tuo splitter
Questo è il CoolUtils RAG Adapter — un contratto Markdown unificato condiviso da ogni prodotto Total Converter X. La specifica completa, un esempio di .md + .docling.json e gli snippet di integrazione si trovano sulla pagina Coolutils Converter X — RAG Adapter.
(incluso un periodo di prova GRATUITO di 30 giorni)
(solo $950.00)
string src = @"C:\test\Source.dwg";
string dest = @"C:\test\Dest.pdf";
var cnv = new CADConverterX();
cnv.Convert(src, dest, "-c PDF -log c:\\test\\CAD.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
Scarica esempio .NET CAD Converter
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\CADConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG-1.dwg";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(msgPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & MSG files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{msgPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("CADConverter.CADConverterX")
C.Convert "c:\test\source.dwg", "c:\test\dest.pdf", "-cPDF -log c:\test\CAD.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("CADConverter.CADConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.dwg", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
Esempio PHP:
$src="C:\\test\\test.dwg";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("CADConverter.CADConverterX");
$c->convert($src,$dest, "-c pdf -log c:\\test\\Mail.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('CADConverter.CADConverterX')
src="C:\\test\\test.dwg";
dest="C:\\test\\test.pdf";
c.convert(src,dest, "-c PDF -log c:\\test\\CAD.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("CADConverter.CADConverterX")
src="C:\\test\\test.dwg";
dest="C:\\test\\test.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\CAD.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c:=CreateOleObject('CADConverter.CADConverterX');
C.Convert('c:\test\source.dwg', 'c:\test\dest.pdf', '-cPDF -log c:\test\CAD.log');
IF c.ErrorMessage<> Then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("CADConverter.CADConverterX");
c.Convert("C:\\test\\source.dwg", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test.dwg"; my $dest="C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'CADConverter.CADConverterX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\CAD.log"); print $c->ErrorMessage if -e $dest;
"L'anno scorso abbiamo sostituito il nostro microservizio DWG-to-PDF basato su AutoCAD con Total CAD ConverterX. Pagavamo licenze AutoCAD su tre VM di conversione solo perché un singolo script di automazione COM potesse funzionare. Ora quelle VM eseguono solo CADConverterX.exe dietro una coda. La latenza di conversione è scesa da circa 25 secondi per disegno a 4 secondi e la nostra spesa annuale per le licenze è diminuita di un ordine di grandezza. L'integrazione ActiveX con il nostro worker .NET ha richiesto mezza giornata."
Marko D.
Senior Backend Developer
"Eseguiamo Total CAD ConverterX dentro un container Windows Server Core come parte di una pipeline Azure. I clienti caricano DWG, la coda li raccoglie, il convertitore produce output PDF/A archivistico, i file vanno nel blob storage. Nessuna GUI, nessun AutoCAD, nessuna sorpresa di licenza. Il flag -log ci fornisce righe per file che vanno direttamente nel nostro aggregatore di log. La configurazione è stata semplice: registra il COM, monta una directory di lavoro, fatto."
Anita V.
DevOps Engineer
"Accettiamo disegni dei clienti in qualsiasi formato ci inviano: DWG, PLT, HPGL2, SVG, di tutto. Il nostro portale di accettazione chiama Total CAD ConverterX tramite l'interfaccia COM PHP e produce un PDF di anteprima prima che l'operatore inizi il plotting. Il fatto che PLT e HPGL2 funzionino subito appena estratti dalla scatola è il motivo per cui abbiamo scelto questo prodotto rispetto alle alternative. La maggior parte delle librerie CAD si concentra su DWG e tratta i formati plotter come cittadini di seconda classe."
Stefan K.
CTO at a printing & plotting bureau
"Abbiamo incluso Total CAD ConverterX nel nostro prodotto di gestione dei disegni con la Royalty-Free License. La tariffa una tantum per progetto era una frazione di quanto pagavamo al nostro precedente fornitore in royalty di ridistribuzione per postazione. Il nostro installer distribuisce l'ActiveX, lo registra durante l'installazione e la nostra applicazione lo chiama direttamente. I clienti non vedono mai il convertitore. Il supporto è sempre stato reattivo ogni volta che abbiamo incontrato un caso limite di formato insolito."
Paolo F.
Independent Software Vendor
"Sostituzione solida per l'automazione COM AutoCAD che usavamo per la conversione batch DXF-to-PDF in un flusso di lavoro interno di asset. La configurazione precedente richiedeva un'installazione completa di AutoCAD sulla macchina di conversione e si rompeva dopo ogni aggiornamento di AutoCAD. Total CAD ConverterX gira come un semplice binario Windows e sopravvive a esecuzioni notturne non presidiate. La documentazione potrebbe essere più completa in alcuni punti (abbiamo dovuto chiedere al supporto di un paio di flag CLI), ma ogni domanda ha ricevuto una risposta utile entro un giorno lavorativo."
Lena B.
Lead .NET Developer
Total CAD ConverterX include CADConverterX.exe, un binario console che puoi pilotare da script, attività pianificate, runner CI o qualsiasi servizio backend. Il set di flag corrisponde alla GUI CADConverter.exe; per il riferimento completo consulta la documentazione da riga di comando. Le ricette qui sotto coprono i casi che sentiamo più spesso dai clienti SDK.
La chiamata più semplice possibile — un file sorgente, un output, un formato di destinazione.
CADConverterX.exe "C:\drawings\plan.dwg" "C:\out\plan.pdf" -cPDF
Elabora ogni DWG in una cartella e rilascia i PDF in una directory di output adiacente.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF
Sostituisci la maschera con *.dxf, *.plt, *.hpgl, ecc. per scegliere un formato sorgente diverso.
I progetti architettonici e ingegneristici raramente vivono in una cartella piatta. -Recurse attraversa le sottodirectory; -kfs ricrea lo stesso albero lato output invece di appiattire tutto in un unico bucket.
CADConverterX.exe "C:\projects\AcmeTower\*.dwg" "C:\out\AcmeTower\" -cPDF -Recurse -kfs
Una consegna CAD tipica è un album: decine di fogli che vanno insieme. -combine li unisce in un unico PDF nell'ordine dei file sorgente.
CADConverterX.exe "C:\projects\AcmeTower\sheets\*.dwg" "C:\out\AcmeTower-album.pdf" -cPDF -combine
Usa -sort name o -sort numbers per controllare l'ordine dei fogli, e -cimt onefile quando punti a TIFF multipagina invece che a PDF.
Per scambio dati tra strumenti CAD, o per incorporare disegni in una pagina web, renderizza in un formato vettoriale diverso da PDF.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cDXF
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cSVG
Gli archivi di blueprint a lungo termine sono di solito TIFF in bianco e nero con compressione G4 fax — piccoli su disco, lossless, accettati da ogni viewer.
CADConverterX.exe "C:\drawings\*.dwg" "C:\archive\" -cTIF -dpi 600 -cm bw -tc G4FAX
Abbassa -dpi a 300 per copie di revisione a schermo, o sali a 1200 se il file andrà a un plotter di grande formato.
Una volta che CADConverterX.exe gira come servizio o job pianificato, l'unico modo per sapere cosa è successo è il log. -verbosity detail scrive una riga per file; -logmode append mantiene la storia tra le esecuzioni.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF -log "C:\logs\cadconv.log" -verbosity detail -logmode append
Quando un worker scrive un file di coda e il convertitore lo consuma, non vuoi codificare i percorsi file nella riga di comando stessa. -list legge le maschere file (una per riga) da un file di testo.
CADConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF
Standard per inviare disegni a subappaltatori: una password proprietario blocca i permessi di modifica/stampa, una password utente regola l'apertura del file e un watermark etichetta ogni pagina.
CADConverterX.exe "C:\drawings\*.dwg" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Copy -wmt "CONFIDENTIAL"
Sostituisci Copy con qualsiasi combinazione di Modify, Annotation, FormFill, HighResPrint per concedere esattamente i diritti che vuoi.
Per i flussi di records-management che richiedono file PDF/A conformi a ISO 19005 con metadati di authoring corretti.
CADConverterX.exe "C:\drawings\*.dwg" "C:\archive\" -cPDF -pdfa -PDFAuthor "Acme Engineering" -PDFTitle "Tower Project Phase 2" -PDFSubject "As-built drawings"
Aggiornato Fri, 01 May 2026
(solo $950.00)
new COM("CADConverter.CADConverterX") in PHP, new CADConverterX() in .NET, win32com.client.Dispatch in Python, WIN32OLE.new in Ruby e CreateOleObject in Pascal/Delphi. La pagina sopra include esempi di codice pronti da incollare per ciascun linguaggio. In alternativa, il binario a riga di comando CADConverterX.exe può essere richiamato da qualsiasi processo, scheduler o script shell.mcr.microsoft.com/windows/servercore e registra l'ActiveX durante la build dell'immagine.-combine abilita l'unione in un singolo file; -sort name o -sort numbers controlla l'ordine dei fogli. Questo è il flusso di lavoro standard per assemblare un set di disegni multifoglio in un unico PDF consegnabile..md come formato di output e il convertitore scrive la struttura dei livelli, i metadati del cartiglio e il testo/le annotazioni incorporate del disegno come GitHub-Flavored Markdown: ogni livello CAD diventa una sezione ## con entità di testo, MTEXT, etichette di quota e annotazioni elencate sotto; i disegni multi-foglio collocano ogni layout sotto un'intestazione #. Un blocco YAML frontmatter trasporta source_file, cad_version, unità di disegno (mm/pollici), conteggio livelli, conteggio fogli e gli attributi del cartiglio analizzati (numero del disegno, revisione, nome del foglio, scala, progettista, data). Questo fa parte del CoolUtils RAG Adapter — lo stesso contratto Markdown è condiviso da ogni prodotto Total Converter X.binary_hash per la provenienza e un array chunks_hint leggibile dal tuo splitter. Si abilita con -Docling a riga di comando..md è semplice GFM con un blocco YAML frontmatter, quindi UnstructuredMarkdownLoader di LangChain, MarkdownReader di LlamaIndex, MarkdownToDocument di Haystack e gli strumenti file MCP di Claude Code lo leggono direttamente. Per Claude, ChatGPT o qualsiasi UI di chat puoi incollare il Markdown nel contesto così com'è — la struttura dei livelli è evidente al modello, i metadati del cartiglio sono nel frontmatter e una query come "cosa dice l'annotazione sul livello elettrico?" si risolve senza problemi.CADConverterX.exe "C:\drawings\*.dwg" "C:\rag\" -cMD -Docling -Recurse -kfs. -cMD seleziona Markdown; -Docling scrive anche il sidecar .docling.json; -Recurse percorre le sottodirectory; -kfs replica l'albero della cartella di origine sul lato output. Da COM: obj.Convert("site-plan.dwg", "site-plan.md", "-cMD -Docling"). Il Markdown risultante è pronto per essere suddiviso in chunk, embeddato e indicizzato in qualsiasi vector store.Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.