Parallele Linien über Script

Hallo zusammen,

da ich gerade entdeckt habe, dass es hier auch ein deutschsprachiges Forum gibt, möchte ich das Thema Multli-Line with auto-Trim hier fortsetzen.

Ich habe mir inzwischen die Vollversion gekauft, da ich guter Hoffnung bin, meine Probleme mit QCAD lösen zu können.Gerade scheitere ich aber an den vermeintlich einfachste Dingen.

Ich habe mal mit den Tutorials “Interaktive Scripte herumgespielt”, die Beispiele konnte ich auch alle nachvollziehen, allerdings scheitere ich gerade an dem Versuch einen Kreis zu zeichnen und gleichzeitig ein oder mehrere parallele Kreise hinzuzufügen.

Ich habe versucht die LineParallel.js hinzuzufügen und dann über offset einen Wert zu übergeben. Die parallele Linie würde ich gerne auf einen zweiten Layer legen und beide Linien als Block "verbinden. Es scheitert aber leider schon an der ersten Baustelle, die parallele Linie automatisch mit hinzuzufügen.

Wäre super wenn mir hier jemand Licht ins Dunkel bringen könnte.

Vielen Dank schon mal.

Ach ja, gibt es denn einen Art Debug-Modus, wo man auch Fehlermeldungen bekommt, wenn Scripte falsch sind?

include("scripts/EAction.js");
include("scripts/Draw/Line/LineParallel/LineParallel.js")

function ExMinimal(guiAction) {
    EAction.call(this, guiAction);

    this.pos = undefined;
}

ExMinimal.prototype = new EAction();

ExMinimal.prototype.beginEvent = function() {
    EAction.prototype.beginEvent.call(this);

    var di = this.getDocumentInterface();
    di.setClickMode(RAction.PickCoordinate);
};

ExMinimal.prototype.pickCoordinate = function(event, preview) {
    this.pos = event.getModelPosition();

    if (preview) {
        this.updatePreview();
    }
    else {
        this.applyOperation();
    }
};

ExMinimal.prototype.getOperation = function(preview) {
    var doc = this.getDocument();

    var op = new RAddObjectOperation();
    var circle = new RCircle(this.pos, 3);
    op.addObject(shapeToEntity(doc, circle));
	var offset = new Offset(circle, 2);
	op.addObject(shapeToEntity(doc, offset);
    return op;
};

ExMinimal.init = function(basePath) {
    var action = new RGuiAction(qsTr("&Minimal Example"), RMainWindowQt.getMainWindow());
    action.setRequiresDocument(true);
    action.setScriptFile(basePath + "/ExMinimal.js");
    action.setGroupSortOrder(100000);
    action.setSortOrder(0);
    action.setWidgetNames(["ExamplesMenu"]);
};
// Missing closing closing bracket:
op.addObject(shapeToEntity(doc, offset);
>>> op.addObject(shapeToEntity(doc, offset));

// Not a correct construction:
var offset = new Offset(circle, 2);
>>> var offsets = circle.getOffsetShapes(...)

// On dedicated layer:
var circle = new RCircle(this.pos, 3);
op.addObject(shapeToEntity(doc, circle));
>>>
var layerName = .... (An existing layer)
var circleShape = new RCircle(this.pos, 3);
var newEntity = new RCircleEntity(doc, new RCircleData(circleShape));
newEntity.setLayerName(layerName);
op.addObject(newEntity, true, false); // useCurrentAttributes, NOTforceNew

Starten Sie QCAD mit den Argumenten:
qcad.exe" -rescan -enable-script-debugger -always-load-scripts"

Siehe auch PM in Englisch,
Grüße,
CVH