Kommandouebersicht
Diese Seite listet alle Kommandos des Projekts auf einen Blick:
- BricsCAD-Befehle (AutoLISP) - an der BricsCAD-Kommandozeile einzugeben
- Test-Befehle in BricsCAD
- Batch-/Shell-Skripte (
bin/)
- Python-Kommandozeilen (
lib/)
- Python-Tests (
pytest)
Ausfuehrliche Beschreibungen stehen in Lisp/README.md, doc/variofoerderer.md,
doc/tools.md (set_einfuegepunkt/set_koords), doc/dbg2lsp.md, doc/csv-export.md
und doc/LispTests.md. Diese Seite ist nur der Einstieg.
Voraussetzung fuer alle BricsCAD-Befehle: Menue menu/SSG_LIB.mnu einmalig per
_MENULOAD geladen (siehe CLAUDE.md, "Menue einrichten"). Die MNL laedt die Module
dann beim Start. Befehle, die nicht im Menue stehen, lassen sich trotzdem an der
Kommandozeile aufrufen, sofern ihr Modul geladen ist - sonst vorher
(ssg-ensure "Modulname") eingeben.
1. BricsCAD-Befehle (AutoLISP)
Gross-/Kleinschreibung spielt an der Kommandozeile keine Rolle.
ILS Kreisel / Eckrad (KreiselInsert.lsp)
| Befehl |
Beschreibung |
KreiselInsert |
Kreisel einfuegen: Position und Parameter (Abstand, Typ, Rotation, Hoehe) manuell eingeben |
KreiselConnect |
Kreisel zwischen zwei gewaehlten Punkten einfuegen (Abstand und Drehung aus den Punkten) |
KreiselQuick |
Kreisel schnell mit Standardwerten (horizontal) einfuegen |
KreiselEdit |
Bestehenden Kreisel per Dialog (kreisel_edit.dcl) bearbeiten und neu aufbauen |
KreiselRedraw |
Kreisel aus seinen Block-Attributen neu zeichnen (z.B. mit neuem Abstand) |
KreiselParams |
Aktuelle Kreisel-Parameter anzeigen |
KreiselLabelSetup |
Beschriftung einstellen (Hoehe, Farbe, Abstand, Schriftart) |
KreiselLabelPos |
Versatz der Beschriftung (dx/dy) einstellen |
KreiselLabelHoehe |
Texthoehe der Beschriftung einstellen |
ILS_Eckrad |
Eckrad an einem Tangentenpunkt mit Richtung einfuegen |
VarioFoerderer (VarioFoerderer.lsp -> vf_core/vf_standard/vf_etage/vf_linienzug/vf_spec)
| Befehl |
Beschreibung |
FOERDERANLAGE / VarioFoerderer |
Hauptbefehl, fragt den Anlagentyp (Standard/Etage/Linienzug) ab |
StandardVarioFoerderer |
Standardtyp (AS/ES 90 Grad), Werte per DCL-Dialog |
StandardVarioFoerderer3D |
Standardtyp aus einer gewaehlten 3D-Linie |
EtageVarioFoerderer |
Etagentyp (AS/ES 30 Grad), Werte per DCL-Dialog |
EtageVarioFoerderer3D |
Etagentyp aus einer gewaehlten 3D-Linie |
LinienzugVarioFoerdererManuell |
Streckengruppe, Modus 1 (manuelle Eingabe, Punkte klicken) |
LinienzugVarioFoerdererZielhoehe |
Streckengruppe, Modus 2 (3D-Objekte + Ziel-Hoehe, Randwert-Solver) |
LinienzugVarioFoerdererStueckweise |
Streckengruppe, Modus 3 (3D-Objekte stueckweise, in Arbeit) |
QcLinieMitGf |
Streckengruppe Modus 4 (QC-Linie mit GF, automatische Auf-Ab-Berechnung); Menue unter Gefaellestrecke |
QcLinieMitGfUForm |
Streckengruppe Modus 5 (QC-Linie mit GF und U-Form); Menue unter Gefaellestrecke |
VARIOFOERDERER_EDIT |
VF_n-Block editieren (dispatcht per XDATA-Marker auf Standard/Etage/Linienzug); auch per Doppelklick |
VARIOFOERDERER_NACHRUESTEN / VF_NACHRUESTEN |
Altbestand-VF_n-Bloecke ohne SSG_VF_EDIT-Marker editierbar machen |
Vario_Kette_Merge |
Mehrere einzeln gebaute VF_n-Bloecke ab einem Start-Baustein zu einem Gesamt-Block zusammenfuehren |
VF_SEKTION_RESTORE |
Aufgebrochene Linienzug-Kette aus der XDATA der losen Objekte wieder zu einem Block mit Journal zusammensetzen |
VF_WIZARD_AN / VF_WIZARD_AUS |
Linienzug-Fragen per DCL-Assistent (Standard) bzw. per Konsole stellen |
VF_SPEC_BAU |
Linienzug-Ketten ohne Dialog aus einer Spec-Datei bauen (DXFM_VF_SPEC, Default tests/testdata/hundm05.json) |
VFL_KS_DIAG |
Diagnose: inneren Aufbau eines Blocks anzeigen (Lage von KS_EIN/KS_AUS) |
Gefaellestrecke (Gefaellestrecke.lsp)
| Befehl |
Beschreibung |
GEFAELLESTRECKE |
Fragt den Eingabemodus per Konsole ab |
GEFAELLESTRECKE_EINFACH |
Modus 1: Werteingabe per DCL-Dialog |
GEFAELLESTRECKE_3DLINIE |
Modus 2: aus einer 3D-Linie |
GEFAELLESTRECKE_LINIENZUG |
Modus 3: aus einem Linienzug (LINE + ARC) |
GEFAELLESTRECKE_EDIT |
GF_n-Block editieren (Dialog vorbelegt, Neuaufbau); auch per Doppelklick |
ILS-Zusatzmodule, Sensoren, Ein-/Ausgang (SSG_LIB_Commands.lsp)
| Befehl |
Beschreibung |
ILS_BTMT_Beladung |
BTMT-Beladung wiederholt einfuegen (Drehung interaktiv) |
ILS_BTMT_Entladung |
BTMT-Entladung wiederholt einfuegen |
ILS_EINGANG_INSERT / ILS_AUSGANG_INSERT |
Eingang-/Ausgang-Symbol frei platzieren |
ILS_SCANNER_INSERT |
Scanner einfuegen |
ILS_SEPARATOR_INSERT |
Separator einfuegen |
TEF_FOERDERER_LINIE (TEFInsert.lsp) |
Linie zwischen zwei Punkten zeichnen und mit 1000-mm-TEF-Geraden belegen |
Omniflo (OmniModulInsert.lsp)
| Befehl(e) |
Beschreibung |
OMNI_LOAD |
Omniflo-Komponentendaten laden |
OMNI_INFO_BOGEN / OMNI_INFO_WEICHE |
Daten eines Bogens / einer Weiche anzeigen |
OMNI_APB60_90, OMNI_APB_630_90, OMNI_APB_630_45, OMNI_APB_550_675, OMNI_APB_550_225, OMNI_APB_650_180 |
Boegen einfuegen (Dialog omniflo_boegen.dcl) |
OMNI_AP60, OMNI_AP110, OMNI_APG110 |
Gerade Profile einfuegen |
OMNI_W90_Einfach/_Doppel/_Dreiwege |
Weichen 90 Grad (Dialog omniflo_weichen.dcl) |
OMNI_W45_Einfach/_Doppel/_Dreiwege |
Weichen 45 Grad |
OMNI_WP_Einfach/_Doppel/_Dreiwege |
Parallelweichen |
OMNI_WK_Einfach/_Doppel/_Dreiwege |
Weichenkoerper |
OMNI_WKomb_Delta_1400, OMNI_WKomb_Delta_1600, OMNI_WKomb_Star |
Weichenkombinationen (Delta, Stern) |
OMNI_APBW_R400_45_140, OMNI_APBW_R400_675_260, OMNI_APBW_R550_45_77, OMNI_APBW_R550_45_194, OMNI_APBW_R550_225_360, OMNI_APBW_R550_225_410A/B/C, OMNI_APBW_R550_675_58/_125/_208/_360, OMNI_APBW_R650_90_300, OMNI_APBW_R750_90_200 |
Boegen fuer Weichen (fest, ohne Dialog) |
OMNI_TEF_UmlenkL/R, OMNI_TEF_AntriebL/R, OMNI_TEF_Gerade |
TEF-Elemente (fest, ohne Drehung) |
OMNI_STOPPER, OMNI_SCANNER, OMNI_BUERSTENBREMSE |
Anbaugruppen |
OMNI_TV_W_W, OMNI_TV_W_AP, OMNI_TV_W_AP60, OMNI_TV_W_AP110, OMNI_TV_W_AP110_W, OMNI_TV_50, OMNI_TV_80, OMNI_TV_ENDPLATTE, OMNI_TV_ANSCHLAG, OMNI_TV_MUFFE, OMNI_TV_A_AP110_AP60, OMNI_TV_A_AP60_ST, OMNI_TV_A_AP110_ST, OMNI_TV_SW_II_SW_SW, OMNI_TV_SW_III_AP110, OMNI_TV_SW_III_AP110_SW, OMNI_TV_SW_IV_AP60, OMNI_TV_SW_IV_ST |
Verbinder |
OMNI_LADESCHLEIFE_AP110 |
Ladeschleife (Dialog omniflo_ladeschleifen.dcl) |
OMNI_KettenFoerderer |
Platzhalter (noch ohne Funktion) |
OMNI_EDIT |
Omniflo-Element per Dialog bearbeiten; auch per Doppelklick |
Geruest (GeruestInsert.lsp)
| Befehl |
Beschreibung |
GERUEST |
Geruest-Dialog (Bereich frei waehlbar) |
GERUEST_SAEULEN / GERUEST_ROHRABHAENGER / GERUEST_WANDBEFESTIGUNG |
Derselbe Dialog, im jeweiligen Bereich geoeffnet |
GERUEST_TRAEGER |
Rohr-Geruest-Traeger: Dialog (geruest_traeger.dcl), danach Start-/Endpunkt oder Laenge bis ESC/Enter |
GERUEST_TRAEGER_BESCHRIFTEN |
Alle Traeger der Zeichnung neu beschriften, verwaiste Beschriftungen entfernen |
TRO und Connections (Tro_Edit.lsp, Connection_Edit.lsp)
| Befehl |
Beschreibung |
TRO_INSERT |
TRO-Marker (TRO_SYM_<Typ>) einfuegen und ID/TYPE setzen (Blockdefinition muss existieren) |
TRO_EDIT |
ID/TYPE eines TRO-Markers per Dialog aendern |
CONNECTION_INSERT |
Verbindungspfeil (Fluss) zwischen zwei Elementen zeichnen |
CONNECTION_EDIT |
Quelle/Ziel einer Verbindung aendern |
Export und IDs (export.lsp, ssg_id.lsp, count_sep_scan.lsp, check_hoehen.lsp)
| Befehl |
Beschreibung |
EXPORTSIVAS |
Sivas-Export-CSV mit Summierungszeilen (ruft lib/export_sivas.py) |
EXPORTCSV |
Einfache Item-Liste aller Bloecke inkl. Bounding-Box/Planquadrat (ruft lib/export_csv.py) |
CSV_EXPORT_KONFIG |
Export-Einstellungen per Dialog (u.a. gefrorene Layer ausschliessen) |
OMNI_UPDATE_ATTRIBS |
HOEHE und DREHUNG aller Omniflo-Elemente aus der Geometrie aktualisieren |
IDSCHECK |
Alle Bloecke auf doppelte IDs pruefen und korrigieren |
IDGENERATE |
Gewaehltem Block eine neue ID zuweisen |
ZAEHLE_SEP_SCAN |
Scanner/Separatoren je Kreisel/VF/GF zaehlen und in ANZAHL_SCANNER/ANZAHL_SEPARATOR schreiben (laeuft auch automatisch vor jedem Export) |
HOEHEN_CHECK |
Hoehen von Kreiseln/VF/GF messen und in HOEHE/HOEHE_VON_mm/HOEHE_BIS_mm/MONTAGEHOEHE_m schreiben |
CALLPYTHON (external_call.lsp) |
Test des LISP->Python-Aufrufs (lib/testpycall.py) |
Konfiguration, Planquadrate, Doppelklick
| Befehl |
Beschreibung |
SSG_DIM_SWITCH |
Globalen Modus 2D/3D umschalten (DXFM_DIM) |
SSG_DIM_ALL_2D / SSG_DIM_ALL_3D |
Alle VF_n-/GF_n-Bloecke der Zeichnung nach 2D bzw. 3D umbauen |
SSG_SPRACHE |
Sprache Deutsch/Englisch waehlen (DXFM_LANG) |
DRAW_PLANQUADRATE |
Planquadrat-Raster (Block ZZ_PLANQUADRATE) zeichnen bzw. neu aufbauen |
DELETE_PLANQUADRATE |
Planquadrat-Raster entfernen |
PLANQUADRATE_TOGGLE |
Raster an/aus (zeichnen, falls keins existiert, sonst entfernen) |
SSG_BLOCKEDIT |
Doppelklick-/Kontextmenue-Dispatcher: Kreisel, Omniflo, GF_, VF_, GR_, TRO_ auf den passenden Edit-Befehl |
EATTEDIT |
Ueberschreibt den nativen Befehl, leitet an SSG_BLOCKEDIT weiter (Fallback _.EATTEDIT) |
Layer-Werkzeuge (ssg_layer.lsp)
| Befehl |
Beschreibung |
SSG-LayerSet |
Layer eines angeklickten Objekts aktiv setzen |
SSG-LayerInfo |
Layer eines Objekts anzeigen |
SSG-LayerMove |
Objekte auf einen anderen Layer verschieben |
SSG-LayerCopy |
Objekte auf einen anderen Layer kopieren |
SSG-LayerMoveType |
Alle Objekte eines Typs (Referenzobjekt) vom gleichen Layer auf einen neuen Layer verschieben |
SSG-LayerOff / SSG-LayerFreeze |
Layer per Anklicken aus-/einfrieren |
SSG-FreezeAll |
Alle Layer ausser dem aktiven einfrieren |
SSG-ThawAll / SSG-LayerOnAll |
Alle Layer auftauen / einschalten |
SSG-LayerDelete |
Alle Objekte eines Layers und den Layer loeschen (mit Sicherheitsabfrage) |
Block-Pflege und Diagnose (Entwickler)
Arbeiten auf den Block-DWGs in data/ils (Voraussetzung DXFM_DATA).
| Befehl |
Beschreibung |
ILS_ATTR_SYNC (addattribute.lsp) |
ATTDEFs der DWGs mit data/ils/allocations.json abgleichen; Modus Ergaenzen/Ersetzen |
ILS_ATTR_REPLACE |
Direkt Modus "Ersetzen" (Sicherheitsfrage bleibt) |
ILS_ATTR_COLLECT (collect_attributes.lsp) |
Aktuelle ATTDEF-Werte aller DWGs nach allocations_collected.json schreiben |
ILS_BLOCK_LIST (list_blocks.lsp) |
Sub-Block-Definitionen aller DWGs nach blocks_collected.json schreiben (Kollisionen 2D/3D finden) |
ILS_BLOCK_PURGE (purge_blocks.lsp) |
Unbenutzte Bloecke/Layer in allen DWGs entfernen |
KS_PRUEFEN (ks_pruefung.lsp) |
KS_EIN/KS_AUS der 2D- gegen die 3D-Variante vergleichen, Ergebnis als CSV |
MenuInventory (menu-inventory.lsp) |
Menuegruppen, Plugins und Startdateien von BricsCAD auflisten |
2. Test-Befehle in BricsCAD
Aus dem Menue "Tests" bzw. der Kommandozeile; Details in doc/LispTests.md.
| Befehl |
Beschreibung |
SSG_RUN_ALL_TESTS |
Alle in tests/alltests.json aktivierten Szenarien ausfuehren (fragt den Modus ab) |
SSG_RUN_ALL_TESTS_EXPORT |
Dito, Automatik: speichern + CSV/Sivas-Export + schliessen |
SSG_RUN_ALL_TESTS_OFFEN |
Dito, Kontrolle: Zeichnungen bleiben offen, kein Export |
TEST_EXPORT_ALL |
Jede Zeichnung aus tests/output/ oeffnen und exportieren |
TEST_UNIT |
File- und zeichnungsfreie Unit-Tests (tests/test_unit.lsp), Ergebnis tests/output/unit_results.txt |
TEST_VF_SPEC |
Unit-Test Spec-Uebersetzer (vsp-journal) |
TEST_VFL_SCHEMA |
Unit-Test Glied-Schema des Linienzugs |
TEST_KREISEL |
Kreisel-Szenario |
TEST_FOERDERER |
VarioFoerderer-Szenario |
TEST_GEFAELLESTRECKE |
Gefaellestrecke-Szenario |
TEST_LINIENZUG / TEST_LINIENZUG_STUFE2 |
Linienzug-Szenarien |
TEST_OMNIFLO |
Alle Omniflo-Testbloecke einfuegen |
TEST_OMNIFLO_STRECKE |
Omniflo-Streckenzug aufbauen |
TEST_HM_RECFORMAT (_2D/_3D) |
Echte HundM-Aufzeichnungen per Journal-Replay nachbauen |
TEST_HUNDM05 (_2D/_3D) |
HundM05-Anlage aus der Spec bauen |
TEST_MUBEA |
Mubea-Nachbau aus tests/testdata/mubea.json |
TEST_DEMATIC_ARVATO |
Dematic/Arvato-Nachbau (Flowpuffer/Kreisel) |
TEST_SHOWROOM_ILS |
ILS-3.0-Showroom-Nachbau (Kreisel, Gefaellestrecken; Hoehen noch Platzhalter) |
TEST_TEST_SYSTEM |
Testanlage test_system nachbauen (9 Kreisel, Separatoren, BTMT) - Vorlage fuer sps_skel |
3. Batch-/Shell-Skripte (bin/)
Alle Skripte rufen zuerst setenv.bat (bzw. setenv.sh) auf.
| Skript |
Beschreibung |
setenv.bat / setenv.sh |
Umgebungsvariablen setzen (DXFMAKRO, DXFM_LISP, DXFM_DATA, BRICSCAD ...); .sh muss gesourct werden |
start_briscad.bat |
Umgebung setzen und BricsCAD starten |
get_cmd.bat / get_cmd.sh |
Shell mit gesetzter Umgebung oeffnen |
install_py.bat / install_py.sh |
.venv anlegen und requirements.txt installieren (nur wenn noch nicht vorhanden) |
activate_venv.bat / activate_venv.sh |
.venv aktivieren, Python-Version und Pakete anzeigen |
run_tests.bat |
Testausfuehrung, siehe unten |
create_tests.bat |
Kompletter ILS-Testlauf: Basis-DXF erzeugen, BricsCAD mit ILS_test.scr, Ergebnisse validieren |
set_einfuegepunkt.bat [schalter] |
Wrapper fuer lib/set_einfuegepkt.py (siehe doc/tools.md) |
set_coords.bat [schalter] |
Wrapper fuer lib/set_koords.py (siehe doc/tools.md) |
dbg2lsp.bat [argumente] |
Wrapper fuer lib/dbg2lsp.py (siehe doc/dbg2lsp.md) |
show_exportcsv.bat [csv] [flow] [mflow] [track] |
Export-CSV mit sps_skel als SVG darstellen; flow ohne VF/GF-Einzelbausteine, mflow Materialfluss-Graph, track Bahnzusammenhang (beide brauchen Graphviz) |
dxf_anlage_export.bat <dxf> <output.json> [--projekt NAME] |
Wrapper fuer lib/dxf_anlage_export.py |
dxf_scan_components.bat <dxf> <data_dir> <output.json> [--fenster X0 Y0 X1 Y1] [--projekt NAME] |
Wrapper fuer lib/dxf_scan_components.py |
dxf_vf_abbild.bat <dxf> [--spec S] [--json J] [--referenz R] [--schreibe-referenz] [--praefix VF_,GF_] |
Wrapper fuer lib/dxf_vf_abbild.py |
run_tests.bat
4. Python-Kommandozeilen (lib/)
Aufruf mit aktivierter .venv (bzw. ueber setenv, damit DXFM_* gesetzt sind).
python <skript> --help zeigt bei den argparse-Skripten alle Optionen.
Export (normalerweise von EXPORTSIVAS/EXPORTCSV aufgerufen)
| Aufruf |
Beschreibung |
python export_sivas.py <export_raw.json> <data_dir> <output.csv> [--mit-bezeichnung] |
Sivas-CSV mit Summierungszeilen, zusaetzlich <output>_zusammengefasst.csv |
python export_csv.py <export_raw.json> <data_dir> <output.csv> |
Einfache Item-Liste (Planquadrat, Bounding-Box, Nachbarn, Merkmale) |
python export_graph.py <export.csv> [<ausgabe-basispfad>] |
Materialfluss-Graph aus dem CSV-Export als .json, .dot und .mmd |
Reine Bibliotheken ohne eigene Kommandozeile: export_blockpatterns.py,
export_neighbors.py, export_planquadrat.py, merkmalstamm.py, sivas_mapping.py,
omniflo_utils.py, vf_linienzug_grammatik.py.
Omniflo-DXF-Aufbereitung
| Aufruf |
Beschreibung |
python set_einfuegepkt.py [--boegen] [--weichen45] [--weichen90] [--weichenkoerper] [--weichen-parallel] [--delta] [--dreifachweiche] [--sternweiche] [--number SIVASNR] [--show-omniflo] |
$INSBASE der Omniflo-DXFs setzen |
python set_koords.py [--k1set] [--k2set] [--k3set] [--k4set] [--set-all] [--force] [--test] [--number SIVASNR] [--show-omniflo] |
KS-Bloecke K1-K4 in die Omniflo-DXFs setzen |
python split_block_library.py |
data/block_libraries/ils_library.dxf in einzelne DXFs je Block aufteilen |
VarioFoerderer-Journal und Spec
| Aufruf |
Beschreibung |
python vf_journal_export.py <dxf> <output.json> [--csv <sivas.csv>] [--kein-startpunkt-fix] |
SSG_VF_EDIT-Journale der VF_n-Bloecke als Frage-Antwort-Protokoll (z.B. tests/testdata/hm_recformat.json) |
python vf_spec_export.py <protokoll.json> <spec.json> |
Protokoll in eine Spec uebersetzen (z.B. tests/testdata/hundm05.json) |
python dxf_vf_abbild.py <dxf> [--spec S] [--json J] [--referenz R] [--schreibe-referenz] [--praefix VF_,GF_] |
Attribut-/Bausteinabbild der VF_/GF_-Bloecke; --referenz vergleicht (Exit 1 bei Abweichung) |
python dxf_anlage_export.py <dxf> <output.json> [--projekt NAME] |
Mit unseren Makros GEBAUTE (und von Hand nachbearbeitete) Anlage aus der Zeichnung in Nachbau-Testdaten zurueckschreiben (Gegenstueck zu dxf_scan_components.py); erzeugt z.B. tests/testdata/dematic_arvato.json |
python dump_vf_wrapper_inhalt.py <dxf-oder-dwg> |
Diagnose: Sub-INSERTs je VF_n/GF_n-Wrapper in Baureihenfolge |
python dump_vf_kette_inhalt.py <spec.json> [<export_raw.json>] |
Diagnose: Glied-Folge der Spec gegen die tatsaechliche Separatorliste |
Fremdzeichnungen auswerten
| Aufruf |
Beschreibung |
python dxf_scan_components.py <dxf> <data_dir> <output.json> [--fenster X0 Y0 X1 Y1] [--projekt NAME] |
ILS-/Omniflo-Komponenten einer fremden Zeichnung als Nachbau-JSON erkennen |
python dxf_abbild.py <dxf> <output.json> [--fenster X0 Y0 X1 Y1] [--max-tiefe N] [--ohne-geometrie-container] |
Getreue Abbildung aller Bauteile (ohne Interpretation) als JSON |
python extract_polylines.py <dxf> <output.json> [--layer Z-6] |
LWPOLYLINEs eines Layers mit Stuetzpunkten und Laengen als JSON |
Entwickler-Tools
| Aufruf |
Beschreibung |
python dbg2lsp.py <datei.lsp> --method NAME [--recursive] [--max-depth N] [--search-dir D] [--exclude NAME] [--add-open DATEI METHODE] [--dbg-file F] [--dbg-envvar V] [--force] [--dry-run] |
LISP-Funktionen mit ssg_dbg.lsp-Aufrufen instrumentieren (siehe doc/dbg2lsp.md) |
python testpycall.py [<log_dir>] |
Gegenstueck zu CALLPYTHON |
5. Python-Tests (pytest)
Die Szenario-Tests (test_kreisel.py, test_foerderer.py, test_hundm05.py ...)
validieren die Ausgaben der zugehoerigen BricsCAD-Testbefehle in tests/output/
gegen tests/reference/; reine Python-Tests wie test_vf_spec.py,
test_vf_journal_grammatik.py oder test_export_graph.py laufen ohne BricsCAD.