@@ -9908,30 +9908,31 @@ DWG_OBJECT (DIMASSOC)
99089908 continue ;
99099909 }
99109910 LOG_HANDLE ("DIMASSOC_Ref .rcount1 : %d \n ", rcount1 );
9911- // DXF: 1, 72, 10, ??, 75
99129911 SUB_FIELD_T (ref [rcount1 ], classname , 1 ); // "AcDbOsnapPointRef"
99139912 SUB_FIELD_RC (ref [rcount1 ], osnap_type , 72 ); // 0-13
99149913 // idpaths:
9915- SUB_FIELD_BL0 (ref [rcount1 ], num_intsectobj , 74 );
9916- SUB_HANDLE_VECTOR (ref [rcount1 ], intsectobj , num_intsectobj , 5 , 332 );
9917-
9918- SUB_FIELD_BD (ref [rcount1 ], osnap_dist , 40 );
9919- SUB_FIELD_3BD (ref [rcount1 ], osnap_pt , 10 );
9920-
9921- // XrefFullSubentPath
9922- SUB_FIELD_BL (ref [rcount1 ], num_xrefs , 0 ); // 1 or 2
9923- SUB_VALUEOUTOFBOUNDS (ref [rcount1 ], num_xrefs , 100 )
9914+ SUB_FIELD_BL (ref [rcount1 ], num_xrefs , 0 );
99249915 SUB_HANDLE_VECTOR (ref [rcount1 ], xrefs , num_xrefs , 4 , 331 );
99259916
9926- // restrict only when writing, not when reading?
9927- //if (FIELD_VALUE (ref[rcount1].osnap_type) == 6 || FIELD_VALUE (ref[rcount1].osnap_type) == 11)
9928- // {
9929- SUB_FIELD_BL0 (ref [rcount1 ], main_subent_type , 73 );
9917+ SUB_FIELD_BL (ref [rcount1 ], main_subent_type , 73 );
99309918 SUB_FIELD_BL (ref [rcount1 ], main_gsmarker , 91 );
99319919 SUB_FIELD_BL (ref [rcount1 ], num_xrefpaths , 0 );
99329920 FIELD_VECTOR_T (ref [rcount1 ].xrefpaths , T , ref [rcount1 ].num_xrefpaths , 301 )
9933- // }
9934- SUB_FIELD_B (ref [rcount1 ], has_lastpt_ref , 75 );
9921+
9922+ SUB_FIELD_BD (ref [rcount1 ], osnap_dist , 40 );
9923+ SUB_FIELD_3BD (ref [rcount1 ], osnap_pt , 10 ) ;
9924+
9925+ // restrict only when writing, not when reading?
9926+ if (FIELD_VALUE (ref [rcount1 ].osnap_type ) == 6 || FIELD_VALUE (ref [rcount1 ].osnap_type ) == 11 )
9927+ {
9928+ SUB_FIELD_BL (ref [rcount1 ], num_intsectobj , 0 );
9929+ SUB_HANDLE_VECTOR (ref [rcount1 ], intsectobj , num_intsectobj , 5 , 332 );
9930+ SUB_FIELD_BL (ref [rcount1 ], intersec_subent_type , 74 );
9931+ SUB_FIELD_BL (ref [rcount1 ], intersec_gsmarker , 92 );
9932+ SUB_FIELD_BL (ref [rcount1 ], num_intersec_xrefpaths , 0 );
9933+ FIELD_VECTOR_T (ref [rcount1 ].intersec_xrefpaths , T , ref [rcount1 ].num_intersec_xrefpaths , 302 )
9934+ }
9935+ SUB_FIELD_B (ref [rcount1 ], has_lastpt_ref , 75 );
99359936 if (FIELD_VALUE (ref [rcount1 ].has_lastpt_ref ))
99369937 {
99379938 SUB_FIELD_3BD (ref [rcount1 ], lastpt_ref , 0 );
0 commit comments