RBlock über Namen ansprechen

Bitte benutzen Sie dieses Forum für Fragen, Kommentare und Probleme im Zusammenhang mit QCAD Professional

Moderators: andrew, Husky

Forum rules

Immer Betriebssystem und QCAD Version angeben.

Zeichnungsdateien und Bildschirmfotos beifügen.

Eine Frage pro Topic.

Post Reply
BastelFritz
Active Member
Posts: 25
Joined: Sun Apr 07, 2019 7:30 pm

RBlock über Namen ansprechen

Post by BastelFritz » Sat Apr 10, 2021 8:16 pm

Ich erzeuge innerhalb eines Scriptes Blöcke, die ich dann über eine Zeile wie die folgende in die Zeichnung einfüge:

Code: Select all

var block0815 = new RBlock(document, "NullAchtFünfzehn", new RVector(0,0));
...
Hinzufügen der Zeichnungselemente zum Block
...
var block01 = new RBlockReferenceEntity(document, new RBlockReferenceData(block0815.getId(), new RVector(-410,-477.8), new RVector(1.0,1.0),0,1,1,0,0));
Das klappt soweit sehr gut.

Nun möchte ich eine Instanz eines Blockes, der bereits in meiner Zeichnungsvorlage definiert ist, auf die gleiche Art und Weise über das Script einfügen. Allerdings kenne ich nicht die Id oder die Variable des Blockes, sondern nur den Namen im Klartext.
Aus dem obigen Beispiel würde ich also den String "NullAchtFünfzehn" kennen.

Kann man die Id oder Variable irgendwo sehen, wenn man die Zeichnung in QCad öffnet?
Oder gibt es eine Möglichkeit per Script einen RBlock über den Klartextnamen zu referenzieren?

Viele Grüße



Ich denke es spielt keine Rolle, aber zur Vollständigkeit:
QCad Version 3.25.2.0 (3.25.2)
Windows 10

CVH
Premier Member
Posts: 3416
Joined: Wed Sep 27, 2017 4:17 pm

Re: RBlock über Namen ansprechen

Post by CVH » Sun Apr 11, 2021 4:00 am

Bitte:
https://www.qcad.org/doc/qcad/latest/de ... 977fe70372

Code: Select all

var di = this.getDocumentInterface();
var document = di.getDocument();
var blockName = "NullAchtFünfzehn";

// Query a block by name from the document:
var block = document.queryBlock(blockName);

// Get block id if any:
if (!isNull(block)) {    // When the block exist >
    var blockId = block.getId();
}
else {    // When the block doesn't exist >
    var blockId = undefined;
}
Grüße,
CVH
Last edited by CVH on Mon Apr 12, 2021 2:45 pm, edited 1 time in total.

BastelFritz
Active Member
Posts: 25
Joined: Sun Apr 07, 2019 7:30 pm

Re: RBlock über Namen ansprechen

Post by BastelFritz » Sun Apr 11, 2021 2:05 pm

Perfekt, danke!
Genau nach sowas ich stundenlang gesucht, natürlich mit den falschen Suchbegriffen und in der falschen Klasse... :shock:

Schönen Sonntag noch

Post Reply

Return to “QCAD Professional”