qwc2 2025.4.4 → 2025.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/utils/DxfUtils.js +3 -2
package/package.json
CHANGED
package/utils/DxfUtils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}var END_MARKERS={SECTION:"ENDSEC",TABLE:"ENDTAB",BLOCK:"ENDBLK"};export function explodeDxf(text){var tuples=text.replace(/\s+$/,"").split(/\r\n|\r|\n/g).flatMap(function(_,i,a){return i%2?[]:[a.slice(i,i+2).map(function(x){return x.trim()})]});var maxHandle=100;// Value in QGIS
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}import{remove as removeDiacritics}from"diacritics";var END_MARKERS={SECTION:"ENDSEC",TABLE:"ENDTAB",BLOCK:"ENDBLK"};export function explodeDxf(text){var tuples=text.replace(/\s+$/,"").split(/\r\n|\r|\n/g).flatMap(function(_,i,a){return i%2?[]:[a.slice(i,i+2).map(function(x){return x.trim()})]});var maxHandle=100;// Value in QGIS
|
|
2
2
|
var _explode=function explode(pairs){var _toplevelTuples$find;var toplevelTuples=[];var sectionTuples;var marker;var expectEndMarker;var children=pairs.reduce(function(acc,tuple){if(tuple[0]==="5"&&tuple[1]!=="9999999"){maxHandle=Math.max(parseInt(tuple[1],16),maxHandle)}if(tuple[0]==="0"){if(expectEndMarker&&tuple[1]===expectEndMarker){acc.push(_objectSpread({type:marker},_explode(sectionTuples)));sectionTuples=undefined;marker=undefined;expectEndMarker=undefined}else if(expectEndMarker&&tuple[1]!==expectEndMarker){sectionTuples.push(tuple)}else if(!expectEndMarker){if(sectionTuples){acc.push(_objectSpread({type:marker},_explode(sectionTuples)))}sectionTuples=[];marker=tuple[1];expectEndMarker=END_MARKERS[marker]}}else if(sectionTuples){sectionTuples.push(tuple)}else if(acc.length>0){acc[acc.length-1].tailValues.push(tuple)}else{toplevelTuples.push(tuple)}return acc},[]);if(marker&§ionTuples&&!expectEndMarker){children.push(_objectSpread({type:marker},_explode(sectionTuples)))}var name=(_toplevelTuples$find=toplevelTuples.find(function(tuple){return tuple[0]==="2"}))===null||_toplevelTuples$find===void 0?void 0:_toplevelTuples$find[1];return{name:name,values:toplevelTuples,children:children,tailValues:[]}};var result=_explode(tuples);result.maxHandle=maxHandle;return result}export function implodeDxf(exploded){var output="";var handleSeed=100;var dumpValues=function dumpValues(values){return values.forEach(function(tuple){if(tuple[0]==="5"&&parseInt(tuple[0],16)>=100){output+="5\n".concat((handleSeed++).toString(16),"\n")}else{output+="".concat(tuple[0],"\n").concat(tuple[1],"\n")}})};var _implode=function implode(data){dumpValues(data.values);data.children.forEach(function(child){output+="0\n".concat(child.type,"\n");_implode(child);if(END_MARKERS[child.type]){output+="0\n".concat(END_MARKERS[child.type],"\n")}dumpValues(child.tailValues)})};_implode(exploded);return output}export function mergeDxf(documents){var _mergedBlockRecords$c,_mergedBlockRecords$c2,_mergedBlockRecords$c3;// Merge blockRecords, Blocks, Layers and Entities of dxf documents
|
|
3
3
|
var mergedEntities=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="ENTITIES"});var mergedLayers=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="TABLES"}).children.find(function(child){return child.type==="TABLE"&&child.name==="LAYER"});var mergedBlockRecords=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="TABLES"}).children.find(function(child){return child.type==="TABLE"&&child.name==="BLOCK_RECORD"});var mergedBlocks=documents[0].children.find(function(child){return child.type==="SECTION"&&child.name==="BLOCKS"});// Reference the common block handles of the first document in subsequent documents
|
|
4
4
|
var commonBlockHandles={"*Model_Space":(_mergedBlockRecords$c=mergedBlockRecords.children.find(function(br){return br.name==="*Model_Space"}))===null||_mergedBlockRecords$c===void 0||(_mergedBlockRecords$c=_mergedBlockRecords$c.values)===null||_mergedBlockRecords$c===void 0||(_mergedBlockRecords$c=_mergedBlockRecords$c.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c===void 0?void 0:_mergedBlockRecords$c[1],"*Paper_Space":(_mergedBlockRecords$c2=mergedBlockRecords.children.find(function(br){return br.name==="*Paper_Space"}))===null||_mergedBlockRecords$c2===void 0||(_mergedBlockRecords$c2=_mergedBlockRecords$c2.values)===null||_mergedBlockRecords$c2===void 0||(_mergedBlockRecords$c2=_mergedBlockRecords$c2.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c2===void 0?void 0:_mergedBlockRecords$c2[1],"*Paper_Space0":(_mergedBlockRecords$c3=mergedBlockRecords.children.find(function(br){return br.name==="*Paper_Space0"}))===null||_mergedBlockRecords$c3===void 0||(_mergedBlockRecords$c3=_mergedBlockRecords$c3.values)===null||_mergedBlockRecords$c3===void 0||(_mergedBlockRecords$c3=_mergedBlockRecords$c3.find(function(t){return t[0]==="5"}))===null||_mergedBlockRecords$c3===void 0?void 0:_mergedBlockRecords$c3[1]};var maxHandle=documents[0].maxHandle;documents.slice(1).forEach(function(document){// Get items to merge
|
|
@@ -7,4 +7,5 @@ blockRecords.children.forEach(function(blockRecord){var handleTuple=blockRecord.
|
|
|
7
7
|
if(!["*Model_Space","*Paper_Space","*Paper_Space0"].includes(block.name)){var handleRefTuple=block.values.find(function(tuple){return tuple[0]==="330"});if(handleRefTuple){handleRefTuple[1]=handleMapping[handleRefTuple[1]]}block.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);mergedBlocks.children.push(block)}});layers.children.forEach(function(layer){// Note: Don't merge dummy layer 0
|
|
8
8
|
if(layer.name!=="0"){layer.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);mergedLayers.children.push(layer)}});entities.children.forEach(function(entity){var handleRefTuple=entity.values.find(function(tuple){return tuple[0]==="330"});if(handleRefTuple){handleRefTuple[1]=handleMapping[handleRefTuple[1]]}var handleTuple=entity.values.find(function(tuple){return tuple[0]==="5"});var newHandle=(++maxHandle).toString(16);handleMapping[handleTuple[1]]=newHandle;handleTuple[1]=newHandle;// VERTEX, SEQEND
|
|
9
9
|
entity.children.forEach(function(child){child.values.find(function(tuple){return tuple[0]==="5"})[1]=(++maxHandle).toString(16);var childHandleRefTuple=child.values.find(function(tuple){return tuple[0]==="330"});if(childHandleRefTuple){childHandleRefTuple[1]=handleMapping[childHandleRefTuple[1]]}});mergedEntities.children.push(entity)})});// Update layer count
|
|
10
|
-
mergedLayers.values.find(function(tuple){return tuple[0]==="70"})[1]=String(mergedLayers.children.length)
|
|
10
|
+
mergedLayers.values.find(function(tuple){return tuple[0]==="70"})[1]=String(mergedLayers.children.length);// Replace special characters in layer name
|
|
11
|
+
mergedLayers.children.forEach(function(child){var nameTuple=child.values.find(function(tuple){return tuple[0]==="2"});nameTuple[1]=removeDiacritics(nameTuple[1]).replace(/\W/g,"_")});return documents[0]}
|