Bonjour,
Je ne trouve pas comment manipuler des blocks (afficher, masquer, insérer, ajouter...) à partir d'un script.
Est-ce possible?
Merci,
Sript & blocks
Forum rules
Indiquez toujours votre système d'exploitation et votre version de QCAD.
Joignez les fichiers de dessin et les captures d'écran.
Postez une question par sujet.
Indiquez toujours votre système d'exploitation et votre version de QCAD.
Joignez les fichiers de dessin et les captures d'écran.
Postez une question par sujet.
I'm assuming you are asking about QCAD 3.
Je suppose que vous parlez QCAD 3.
Je suppose que vous parlez QCAD 3.
Code: Select all
var document = this.getDocument();
var di = this.getDocumentInterface();
// create new block definition:
var block = new RBlock(document, "MyBlock", new RVector(0,0));
var operation = new RAddObjectOperation(block);
di.applyOperation(operation);
// make new block the current block:
di.setCurrentBlock("MyBlock");
// add a line and an arc to the block definition:
var p1 = new RVector(0,0);
var p2 = new RVector(50,0);
var line = new RLineEntity(document, new RLineData(p1, p2));
var center = new RVector(25,0);
var radius = 25;
var arc = new RArcEntity(document, new RArcData(center, radius, 0.0, Math.PI, false));
operation = new RAddObjectsOperation();
operation.addObject(line);
operation.addObject(arc);
di.applyOperation(operation);
// switch back to main drawing (block "*Model_Space"):
di.setCurrentBlock("*Model_Space");
// create block reference in main drawing at 10/20, scale 1, angle 30:
var position = new RVector(10,20);
var scale = new RVector(1,1);
var angle = RMath.deg2rad(30);
var blockId = document.getBlockId("MyBlock");
var blockRef = new RBlockReferenceEntity(document, new RBlockReferenceData(blockId, position, scale, angle));
operation = new RAddObjectOperation(blockRef);
di.applyOperation(operation);
No, QCAD 2 scripting is limited to creating some common, simple entities. You might want to consider an update to QCAD 3 for serious script development. QCAD 3 offers a very complete scripting API.patsol wrote:Another solution
Non, QCAD 2 scripts sont limités à la création des entités simples. Vous pourriez envisager une mise à jour QCAD 3 pour l'élaboration du scénario avancé. QCAD 3 offre une API de scripts très complète.
No, QCAD 3 has no scripting IDE.
The reason is that the Qt framework on which QCAD is based on offers no longer a script IDE for the new Qt (ECMAScript) scripting.
However, QCAD 3 does have a script debugger that pops up on exceptions (or when finding a debugger; statement).
Non, QCAD 3 n'a pas de script IDE.
La raison est que le framework Qt sur lequel QCAD est basé n'offre plus un IDE script pour le nouveau Qt (ECMAScript) scripting.
Toutefois, QCAD 3 a un débogueur de script qui apparaît sur les exceptions (ou lorsque la recherche d'un debugger; déclaration).
The reason is that the Qt framework on which QCAD is based on offers no longer a script IDE for the new Qt (ECMAScript) scripting.
However, QCAD 3 does have a script debugger that pops up on exceptions (or when finding a debugger; statement).
Non, QCAD 3 n'a pas de script IDE.
La raison est que le framework Qt sur lequel QCAD est basé n'offre plus un IDE script pour le nouveau Qt (ECMAScript) scripting.
Toutefois, QCAD 3 a un débogueur de script qui apparaît sur les exceptions (ou lorsque la recherche d'un debugger; déclaration).