From f4846e62b0ebec223acfd356c1e8a5d9c4d385f7 Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 22 Jan 2026 17:36:48 +0900 Subject: [PATCH 1/2] =?UTF-8?q?eaveHelpLine=20actualSize=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/skeleton-utils.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/util/skeleton-utils.js b/src/util/skeleton-utils.js index 49cd1a7c..7bd773f6 100644 --- a/src/util/skeleton-utils.js +++ b/src/util/skeleton-utils.js @@ -802,6 +802,10 @@ const createInnerLinesFromSkeleton = (roofId, canvas, skeleton, textMode) => { const getAddLine = (p1, p2, stroke = '') => { movedLines.push({ index, p1, p2 }) + const dx = Math.abs(p2.x - p1.x); + const dy = Math.abs(p2.y - p1.y); + const isDiagonal = dx > 0.5 && dy > 0.5; // x, y 변화가 모두 있으면 대각선 + //console.log("mergeLines:::::::", mergeLines); const line = new QLine([p1.x, p1.y, p2.x, p2.y], { parentId: roof.id, @@ -818,6 +822,15 @@ const createInnerLinesFromSkeleton = (roofId, canvas, skeleton, textMode) => { type: 'eaveHelpLine', isStart: true, pitch: wallLine.attributes.pitch, + actualSize: (isDiagonal) ? calcLineActualSize( + { + x1: p1.x, + y1: p1.y, + x2: p2.x, + y2: p2.y + }, + getDegreeByChon(wallLine.attributes.pitch) + ) : calcLinePlaneSize({ x1: p1.x, y1: p1.y, x2: p2.x, y2: p2.y }), }, }) From 1d941724dba9b3c7dc1d8b3c58fc20880ac6dd3f Mon Sep 17 00:00:00 2001 From: ysCha Date: Thu, 22 Jan 2026 18:13:42 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=ED=95=A0=EB=8B=B9=EB=B3=80=EA=B2=BD(orange?= =?UTF-8?q?=20=EC=A0=9C=EA=B1=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/skeleton-utils.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/skeleton-utils.js b/src/util/skeleton-utils.js index 7bd773f6..2ebc06c9 100644 --- a/src/util/skeleton-utils.js +++ b/src/util/skeleton-utils.js @@ -1112,7 +1112,7 @@ const createInnerLinesFromSkeleton = (roofId, canvas, skeleton, textMode) => { getAddLine({ x: pLineX, y: pLineY }, { x: newPointX, y: pLineY }, 'green') getAddLine({ x: newPointX, y: pLineY }, { x: ePoint.x, y: ePoint.y }, 'pink') } - getAddLine({ x: roofLine.x2, y: roofLine.y2 }, { x: newPointX, y: roofLine.y2 }, 'orange') + //getAddLine({ x: roofLine.x2, y: roofLine.y2 }, { x: newPointX, y: roofLine.y2 }, 'orange') getAddLine(newPStart, newPEnd, 'red') } } else if (condition === 'right_out') { @@ -1452,7 +1452,7 @@ const createInnerLinesFromSkeleton = (roofId, canvas, skeleton, textMode) => { getAddLine({ x: pLineX, y: pLineY }, { x: pLineX, y: newPointY }, 'green') getAddLine({ x: pLineX, y: newPointY }, { x: sPoint.x, y: sPoint.y }, 'pink') } - getAddLine({ x: roofLine.x2, y: roofLine.y2 }, { x: roofLine.x2, y: newPointY }, 'orange') + //getAddLine({ x: roofLine.x2, y: roofLine.y2 }, { x: roofLine.x2, y: newPointY }, 'orange') getAddLine(newPStart, newPEnd, 'red') } @@ -1481,7 +1481,7 @@ const createInnerLinesFromSkeleton = (roofId, canvas, skeleton, textMode) => { getAddLine({ x: pLineX, y: pLineY }, { x: pLineX, y: newPointY }, 'green') getAddLine({ x: pLineX, y: newPointY }, { x: sPoint.x, y: sPoint.y }, 'pink') } - getAddLine({ x: roofLine.x1, y: roofLine.y1 }, { x: roofLine.x1, y: newPointY }, 'orange') + //getAddLine({ x: roofLine.x1, y: roofLine.y1 }, { x: roofLine.x1, y: newPointY }, 'orange') getAddLine(newPStart, newPEnd, 'red') } } else if (condition === 'bottom_out') {