TheSwamp
CAD Forums => CAD General => Topic started by: HasanCAD on February 12, 2018, 03:38:40 AM
-
HI all
There is a file 4MB size
Could some one help to find out why is this?
-
What have you done to solve this issue yourself. ?
-
What have you done to solve this issue yourself. ?
Purge all and Regapps
Delete proxy using Alexander tool
Checked Dictionaries using DictEdit.lsp Irné Barnard tool but could not find unussual dictionary (up to my knowladge)
I asked for help because I have more files like this one
I am wondering Is there another steps to do?
-
Wild guess...
Tried this ?
https://www.theswamp.org/index.php?topic=48574.msg536490#msg536490
-
Try using THIS (http://www.theswamp.org/index.php?topic=52344.msg573015#msg573015). Took it down to 59kb.
Have you inspected the file using MP's counts code like in THIS (https://www.theswamp.org/index.php?topic=42110.msg473021#msg473021) thread?
-
The file has over 800 layerstates. They are the cause of the bloat in this case.
-
Before:
FileSizeOrig.dwg 4508 KB
AcDbBlockBegin ... 4
AcDbBlockEnd ... 4
AcDbBlockReference ... 1
AcDbBlockTable ... 1
AcDbBlockTableRecord ... 4
AcDbDetailViewStyle ... 2
AcDbDictionary ... 700 ***
AcDbDictionaryVar ... 19
AcDbDictionaryWithDefault ... 1
AcDbDimStyleTable ... 1
AcDbDimStyleTableRecord ... 2
AcDbFieldList ... 1
AcDbFontTable ... 1
AcDbFontTableRecord ... 4
AcDbImpNonPersistentObjectsCollection ... 1
AcDbLayerTable ... 1
AcDbLayerTableRecord ... 1
AcDbLayout ... 2
AcDbLinetypeTable ... 1
AcDbLinetypeTableRecord ... 4
AcDbMaterial ... 3
AcDbMLeaderStyle ... 1
AcDbMlineStyle ... 1
AcDbPlaceHolder ... 1
AcDbPolyline ... 1
AcDbRasterVariables ... 1
AcDbRegAppTable ... 1
AcDbRegAppTableRecord ... 9
AcDbScale ... 18
AcDbSectionViewStyle ... 2
AcDbSortentsTable ... 1
AcDbTableStyle ... 1
AcDbTextStyleTable ... 1
AcDbTextStyleTableRecord ... 3
AcDbUCSTable ... 1
AcDbViewportTable ... 1
AcDbViewportTableRecord ... 1
AcDbViewTable ... 1
AcDbVisualStyle ... 27
AcDbVXTable ... 1
AcDbWipeoutVariables ... 1
AcDbXrecord ... 1487 ***
AecDbDispProps2dSection ... 1
AecDbDispPropsClipVol ... 12
AecDbDispPropsClipVolResSubDiv ... 2
AecDbDispPropsDimGroup ... 3
AecDbDispPropsDisplayTheme ... 1
AecDbDispPropsDoor ... 4
AecDbDispPropsDoorNominal ... 1
AecDbDispPropsDoorPlan100 ... 1
AecDbDispPropsDoorPlan50 ... 1
AecDbDispPropsDoorThresholdPlan ... 1
AecDbDispPropsDoorThresholdSymbolPlan ... 1
AecDbDispPropsEditInPlaceProfile ... 1
AecDbDispPropsEnt ... 7
AecDbDispPropsEntRef ... 1
AecDbDispPropsGridAssemblyModel ... 3
AecDbDispPropsGridAssemblyPlan ... 9
AecDbDispPropsLayoutCurve ... 1
AecDbDispPropsLayoutGrid2d ... 11
AecDbDispPropsLayoutGrid3d ... 1
AecDbDispPropsMaskBlock ... 2
AecDbDispPropsMassElem ... 3
AecDbDispPropsMassElemPlanCommon ... 2
AecDbDispPropsMassGroup ... 3
AecDbDispPropsMassGroupPlanCommon ... 2
AecDbDispPropsMaterial ... 1
AecDbDispPropsOpening ... 2
AecDbDispPropsOpeningPlanCommon ... 1
AecDbDispPropsOpeningPlanCommonHatched ... 2
AecDbDispPropsOpeningSillPlan ... 1
AecDbDispPropsPolygonModel ... 1
AecDbDispPropsPolygonTrueColour ... 1
AecDbDispPropsRailingModel ... 1
AecDbDispPropsRailingPlan ... 1
AecDbDispPropsRailingPlan100 ... 1
AecDbDispPropsRailingPlan50 ... 1
AecDbDispPropsRoof ... 5
AecDbDispPropsRoofSlab ... 1
AecDbDispPropsRoofSlabPlan ... 3
AecDbDispPropsScheduleTable ... 1
AecDbDispPropsSlab ... 1
AecDbDispPropsSlabPlan ... 3
AecDbDispPropsSlice ... 1
AecDbDispPropsSpaceDecomposed ... 1
AecDbDispPropsSpaceModel ... 1
AecDbDispPropsSpacePlan ... 4
AecDbDispPropsStairModel ... 1
AecDbDispPropsStairPlan ... 2
AecDbDispPropsStairPlan100 ... 1
AecDbDispPropsStairPlan50 ... 1
AecDbDispPropsStairPlanOverlapping ... 1
AecDbDispPropsWallGraph ... 1
AecDbDispPropsWallModel ... 1
AecDbDispPropsWallPlan ... 4
AecDbDispPropsWallSchem ... 1
AecDbDispPropsWindow ... 4
AecDbDispPropsWindowAssemblySillPlan ... 1
AecDbDispPropsWindowNominal ... 1
AecDbDispPropsWindowPlan100 ... 1
AecDbDispPropsWindowPlan50 ... 1
AecDbDispPropsWindowSillPlan ... 1
AecDbDispPropsZone ... 3
AecDbDispRep2dSection ... 1
AecDbDispRepAnchor ... 1
AecDbDispRepAnchorBubToGrid ... 1
AecDbDispRepAnchorBubToGridMdl ... 1
AecDbDispRepAnchorBubToGridRcp ... 1
AecDbDispRepAnchorEntToNode ... 1
AecDbDispRepAnchorExtendedTagToEnt ... 1
AecDbDispRepAnchorTagToEnt ... 1
AecDbDispRepBdgElevLineModel ... 1
AecDbDispRepBdgElevLinePlan ... 1
AecDbDispRepBdgElevLinePlan100 ... 1
AecDbDispRepBdgElevLinePlan50 ... 1
AecDbDispRepBdgElevLineRcp ... 1
AecDbDispRepBdgSectionLineModel ... 1
AecDbDispRepBdgSectionLinePlan ... 1
AecDbDispRepBdgSectionLinePlan100 ... 1
AecDbDispRepBdgSectionLinePlan50 ... 1
AecDbDispRepBdgSectionLineRcp ... 1
AecDbDispRepBdgSectionModel ... 1
AecDbDispRepBdgSectionSubDiv ... 1
AecDbDispRepCeilingGrid ... 1
AecDbDispRepCeilingGridModel ... 1
AecDbDispRepCeilingGridPlan100 ... 1
AecDbDispRepCeilingGridPlan50 ... 1
AecDbDispRepCeilingGridRcp ... 1
AecDbDispRepClipVolModel ... 1
AecDbDispRepClipVolPlan ... 1
AecDbDispRepClipVolResSubDiv ... 1
AecDbDispRepClipVolResult ... 1
AecDbDispRepColumnGrid ... 1
AecDbDispRepColumnGridModel ... 1
AecDbDispRepColumnGridPlan100 ... 1
AecDbDispRepColumnGridPlan50 ... 1
AecDbDispRepColumnGridRcp ... 1
AecDbDispRepConfig ... 1
AecDbDispRepCurtainWallLayoutModel ... 1
AecDbDispRepCurtainWallLayoutPlan ... 1
AecDbDispRepCurtainWallLayoutPlan100 ... 1
AecDbDispRepCurtainWallLayoutPlan50 ... 1
AecDbDispRepCurtainWallUnitModel ... 1
AecDbDispRepCurtainWallUnitPlan ... 1
AecDbDispRepCurtainWallUnitPlan100 ... 1
AecDbDispRepCurtainWallUnitPlan50 ... 1
AecDbDispRepDimGroupPlan ... 1
AecDbDispRepDimGroupPlan100 ... 1
AecDbDispRepDimGroupPlan50 ... 1
AecDbDispRepDisplayTheme ... 1
AecDbDispRepDoorElev ... 1
AecDbDispRepDoorModel ... 1
AecDbDispRepDoorNominal ... 1
AecDbDispRepDoorPlan ... 1
AecDbDispRepDoorPlan50 ... 1
AecDbDispRepDoorPlanHekto ... 1
AecDbDispRepDoorRcp ... 1
AecDbDispRepDoorThresholdPlan ... 1
AecDbDispRepDoorThresholdSymbolPlan ... 1
AecDbDispRepEditInPlaceProfile ... 1
AecDbDispRepEntRef ... 1
AecDbDispRepLayoutCurve ... 1
AecDbDispRepLayoutGrid2d ... 1
AecDbDispRepLayoutGrid3d ... 1
AecDbDispRepMaskBlockRef ... 1
AecDbDispRepMaskBlockRefRcp ... 1
AecDbDispRepMassElemModel ... 1
AecDbDispRepMassElemPlan100 ... 1
AecDbDispRepMassElemPlan50 ... 1
AecDbDispRepMassElemRcp ... 1
AecDbDispRepMassElemSchem ... 1
AecDbDispRepMassGroupModel ... 1
AecDbDispRepMassGroupPlan ... 1
AecDbDispRepMassGroupPlan100 ... 1
AecDbDispRepMassGroupPlan50 ... 1
AecDbDispRepMassGroupRcp ... 1
AecDbDispRepMaterial ... 1
AecDbDispRepMvBlockRef ... 1
AecDbDispRepMvBlockRefModel ... 1
AecDbDispRepMvBlockRefPlan100 ... 1
AecDbDispRepMvBlockRefPlan50 ... 1
AecDbDispRepMvBlockRefRcp ... 1
AecDbDispRepOpening ... 1
AecDbDispRepOpeningModel ... 1
AecDbDispRepOpeningPlan100 ... 1
AecDbDispRepOpeningPlan50 ... 1
AecDbDispRepOpeningPlanReflected ... 1
AecDbDispRepOpeningSillPlan ... 1
AecDbDispRepPolygonModel ... 1
AecDbDispRepPolygonTrueColour ... 1
AecDbDispRepRailingModel ... 1
AecDbDispRepRailingPlan ... 1
AecDbDispRepRailingPlan100 ... 1
AecDbDispRepRailingPlan50 ... 1
AecDbDispRepRoofModel ... 1
AecDbDispRepRoofPlan ... 1
AecDbDispRepRoofPlan100 ... 1
AecDbDispRepRoofPlan50 ... 1
AecDbDispRepRoofRcp ... 1
AecDbDispRepRoofSlabModel ... 1
AecDbDispRepRoofSlabPlan ... 1
AecDbDispRepRoofSlabPlan100 ... 1
AecDbDispRepRoofSlabPlan50 ... 1
AecDbDispRepScheduleTable ... 1
AecDbDispRepSet ... 8
AecDbDispRepSlabModel ... 1
AecDbDispRepSlabPlan ... 1
AecDbDispRepSlabPlan100 ... 1
AecDbDispRepSlabPlan50 ... 1
AecDbDispRepSlice ... 1
AecDbDispRepSpaceDecomposed ... 1
AecDbDispRepSpaceModel ... 1
AecDbDispRepSpacePlan ... 1
AecDbDispRepSpacePlan100 ... 1
AecDbDispRepSpacePlan50 ... 1
AecDbDispRepSpaceRcp ... 1
AecDbDispRepSpaceVolume ... 1
AecDbDispRepStairModel ... 1
AecDbDispRepStairPlan ... 1
AecDbDispRepStairPlan100 ... 1
AecDbDispRepStairPlan50 ... 1
AecDbDispRepStairPlanOverlapping ... 1
AecDbDispRepStairRcp ... 1
AecDbDispRepWallGraph ... 1
AecDbDispRepWallModel ... 1
AecDbDispRepWallPlan ... 1
AecDbDispRepWallPlan100 ... 1
AecDbDispRepWallPlan50 ... 1
AecDbDispRepWallRcp ... 1
AecDbDispRepWallSchem ... 1
AecDbDispRepWindowAssemblyModel ... 1
AecDbDispRepWindowAssemblyPlan ... 1
AecDbDispRepWindowAssemblyPlan100 ... 1
AecDbDispRepWindowAssemblyPlan50 ... 1
AecDbDispRepWindowAssemblySillPlan ... 1
AecDbDispRepWindowElev ... 1
AecDbDispRepWindowModel ... 1
AecDbDispRepWindowNominal ... 1
AecDbDispRepWindowPlan ... 1
AecDbDispRepWindowPlan100 ... 1
AecDbDispRepWindowPlan50 ... 1
AecDbDispRepWindowRcp ... 1
AecDbDispRepWindowSillPlan ... 1
AecDbDispRepZone ... 1
AecDbDispRepZonePlan100 ... 1
AecDbDispRepZonePlan50 ... 1
AecDbVarsDwgSetup ... 1
AecsDbDispPropsMember ... 2
AecsDbDispPropsMemberLogical ... 1
AecsDbDispPropsMemberPlan ... 2
AecsDbDispPropsMemberPlanSketch ... 1
AecsDbDispPropsMemberProjected ... 2
AecsDbDispRepMemberElevationDesign ... 1
AecsDbDispRepMemberElevationDetail ... 1
AecsDbDispRepMemberLogical ... 1
AecsDbDispRepMemberModelDesign ... 1
AecsDbDispRepMemberModelDetail ... 1
AecsDbDispRepMemberPlanDesign ... 1
AecsDbDispRepMemberPlanDetail ... 1
AecsDbDispRepMemberPlanSketch ... 1
AT_ViewPortTableReactor ... 1
AT_VPTableRecord ... 1
ExAcXREFPanelObject ... 1
Total objects: ... 2622
Elapsed: 54.085 secs. Tally.lsp(fas) Copyright (c) 2016-2018 Michael Puckett.
After:
FileSizeCleaned.dwg 81 KB
AcDbBlockBegin ... 4
AcDbBlockEnd ... 4
AcDbBlockReference ... 1
AcDbBlockTable ... 1
AcDbBlockTableRecord ... 4
AcDbDetailViewStyle ... 1
AcDbDictionary ... 27
AcDbDictionaryVar ... 6
AcDbDictionaryWithDefault ... 1
AcDbDimStyleTable ... 1
AcDbDimStyleTableRecord ... 1
AcDbFieldList ... 1
AcDbFontTable ... 1
AcDbFontTableRecord ... 4
AcDbImpNonPersistentObjectsCollection ... 1
AcDbLayerTable ... 1
AcDbLayerTableRecord ... 1
AcDbLayout ... 2
AcDbLinetypeTable ... 1
AcDbLinetypeTableRecord ... 4
AcDbMaterial ... 3
AcDbMLeaderStyle ... 1
AcDbMlineStyle ... 1
AcDbPlaceHolder ... 1
AcDbPolyline ... 1
AcDbRegAppTable ... 1
AcDbRegAppTableRecord ... 9
AcDbScale ... 18
AcDbSectionViewStyle ... 1
AcDbSortentsTable ... 1
AcDbTableStyle ... 1
AcDbTextStyleTable ... 1
AcDbTextStyleTableRecord ... 3
AcDbUCSTable ... 1
AcDbViewportTable ... 1
AcDbViewportTableRecord ... 1
AcDbViewTable ... 1
AcDbVisualStyle ... 24
AcDbVXTable ... 1
AcDbXrecord ... 14
AT_ViewPortTableReactor ... 1
AT_VPTableRecord ... 1
ExAcXREFPanelObject ... 1
Total objects: ... 155
Elapsed: 0.312 secs. Tally.lsp(fas) Copyright (c) 2016-2018 Michael Puckett.
-
Wild guess...
Tried this ?
https://www.theswamp.org/index.php?topic=48574.msg536490#msg536490
Thanks ribarm
DGN delete is in a startup
-
Try using THIS (http://www.theswamp.org/index.php?topic=52344.msg573015#msg573015). Took it down to 59kb.
Thnks for this tool
Have you inspected the file using MP's counts code like in THIS (https://www.theswamp.org/index.php?topic=42110.msg473021#msg473021) thread?
Infact this tools did not come in mind,. Thnaks for reminding
-
Thanks MP
I used yout tool COUNTS but did not give these much data
-
I used a different one of my unpublished utilities.
-
I used a different one of my unpublished utilities.
OK
-
I used a different one of my unpublished utilities.
Is this utility to count or to reduce the file size?
-
Just reporting. I’ve various other tools / techs for cleanup.
-
@HasanCAD:
As I have mentioned before, the file bloat is caused by layerstates. As these are not exactly hidden from the user, there is no need for a special tool to remove them. But if you want to develop Lisp code: they are stored in the extension dictionary of the layers object.
-
Subset of one of my fav's (used when turning over dwgs to clients):
(defun _JennyCraig ( doc )
;; Remove all layer states, layer filters and groups from the
;; document (which may be an ObjectDBX document) but leave the
;; layer's xdict intact in case it's used to store other data.
;; Return T if any of the undesirables nuked.
( (lambda ( remove layers keys / owner result )
(and
(eq :vlax-true (vla-get-hasextensiondictionary layers))
(setq owner (vla-getextensiondictionary layers))
(foreach key keys (remove owner key))
)
result
)
(lambda ( owner key / lst offender )
(and
(setq lst (list owner key))
(setq offender (vl-catch-all-apply 'vla-item lst))
(eq 'vla-object (type offender))
(vl-catch-all-apply 'vla-remove lst)
(vl-catch-all-error-p (vl-catch-all-apply 'vla-item lst))
(setq result t) ;; lexical global
)
)
(vla-get-layers doc)
'("ACAD_LAYERSTATES" "ACAD_LAYERFILTERS" "ACLYDICTIONARY")
)
)
-
Subset of one of my fav's (used when turning over dwgs to clients):
...
Many thanks MP for sharing
-
You’re very welcome.