TheSwamp

CAD Forums => CAD General => Topic started by: HasanCAD on February 12, 2018, 03:38:40 AM

Title: Again - File size is 4 MB
Post 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?
Title: Re: Again - File size is 4 MB
Post by: kdub_nz on February 12, 2018, 04:41:13 AM

What have you done to solve this issue yourself. ?
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 12, 2018, 05:01:39 AM

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?
Title: Re: Again - File size is 4 MB
Post by: ribarm on February 12, 2018, 08:59:06 AM
Wild guess...
Tried this ?
https://www.theswamp.org/index.php?topic=48574.msg536490#msg536490
Title: Re: Again - File size is 4 MB
Post by: ronjonp on February 12, 2018, 09:11:50 AM
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?
Title: Re: Again - File size is 4 MB
Post by: roy_043 on February 12, 2018, 09:33:16 AM
The file has over 800 layerstates. They are the cause of the bloat in this case.
Title: Re: Again - File size is 4 MB
Post by: MP on February 12, 2018, 10:44:56 AM
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.
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 12, 2018, 11:28:27 AM
Wild guess...
Tried this ?
https://www.theswamp.org/index.php?topic=48574.msg536490#msg536490
Thanks ribarm
DGN delete is in a startup
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 12, 2018, 11:34:10 AM
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



Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 12, 2018, 11:44:05 AM

Thanks MP
I used yout tool COUNTS but did not give these much data
Title: Re: Again - File size is 4 MB
Post by: MP on February 12, 2018, 03:14:28 PM
I used a different one of my unpublished utilities.
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 13, 2018, 02:34:19 AM
I used a different one of my unpublished utilities.
OK
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 13, 2018, 03:32:54 AM
I used a different one of my unpublished utilities.
Is this utility to count or to reduce the file size?
Title: Re: Again - File size is 4 MB
Post by: MP on February 13, 2018, 05:44:48 AM
Just reporting. I’ve various other tools / techs for cleanup.
Title: Re: Again - File size is 4 MB
Post by: roy_043 on February 13, 2018, 09:11:36 AM
@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.
Title: Re: Again - File size is 4 MB
Post by: MP on February 13, 2018, 09:50:39 AM
Subset of one of my fav's (used when turning over dwgs to clients):

Code: [Select]
(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")         
    )
)
Title: Re: Again - File size is 4 MB
Post by: HasanCAD on February 13, 2018, 09:58:20 AM
Subset of one of my fav's (used when turning over dwgs to clients):
...
Many thanks MP for sharing
Title: Re: Again - File size is 4 MB
Post by: MP on February 13, 2018, 10:12:35 AM
You’re very welcome.