Code Red > AutoLISP (Vanilla / Visual)

Problem with entmod - Bug in AutoCAD?

(1/3) > >>

Lupo76:
Hi,
I have been using this simple code for many years and it has always worked correctly.
However when used with an arc dimension, AutoCAD (various versions) crashes :-o
The same code with the same context works fine in BricsCAD


--- Code: ---(defun c:test ()
  (setq ogg (car (entsel)))
  (DeleteXdata "EMILISPCA" ogg)
)

(defun DeleteXdata (appname ent /)
  (entmod (list (cons -1 ent)(list -3 (list appname))))
  (princ)
)

--- End code ---

I attach a dwg file, the lsp file and a video showing the crash.
Can anyone help me understand or work around the problem?

Thank you!

Marc'Antonio Alessi:
"ARC_DIMENSION" has "ACAD" Xdata, maybe you need to remove only your Xdata "EMILISPCA"

--- Code: ---  (-3
      (
         "ACAD"
         (1000 . "DSTYLE")
         (1002 . "{")
         (1070 . 40)
         (1040 . 50.0)
         (1070 . 144)
         (1040 . 1.0)
         (1002 . "}")
      )
      (
         "EMILISPCA"
         (1000 . "TIPOOGG=QUOTEFERRO")
         (1000 . "IDFERRO=DEFAULT_1")
         (1000 . "UM_QUOTE=cm")
      )
   )

--- End code ---
Try an audit, the dwg has many errors:

--- Code: ---...
Name: AcDbBlockGripExpr(45E)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(45F)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0
...
--- End code ---

Lupo76:
Hi Marc'Antonio,
I confirm that I only have to remove my "EMILISPCA" Xdata.

The AUDIT command finds no errors in my file which was made from scratch, so the presence of errors would be very strange:


--- Code: ---Comando: _AUDIT
Correggere qualsiasi errore trovato? [Ś/No] <N>: S
Verifica dell'intestazione
Verifica delle tabelle
Verifica delle entità della fase 1
Fase 1 1100    oggetti controllati
Verifica delle entità della fase 2
Fase 2 1100    oggetti controllati
Verifica dei blocchi
 41      blocchi verificati
Verifica di AcDsRecords

Totale di 0 errori trovati: 0 corretti
Oggetti cancellati 0
Comando:

--- End code ---

Furthermore, the crash also occurs on a new empty file by creating a new ARC_DIMENSION object.

Marc'Antonio Alessi:

--- Quote from: Lupo76 on April 13, 2021, 11:41:40 AM ---...
The AUDIT command finds no errors in my file which was made from scratch, so the presence of errors would be very strange:


--- Code: ---Comando: _AUDIT
Correggere qualsiasi errore trovato? [Ś/No] <N>: S
Verifica dell'intestazione
Verifica delle tabelle
Verifica delle entità della fase 1
Fase 1 1100    oggetti controllati
Verifica delle entità della fase 2
Fase 2 1100    oggetti controllati
Verifica dei blocchi
 41      blocchi verificati
Verifica di AcDsRecords

Totale di 0 errori trovati: 0 corretti
Oggetti cancellati 0
Comando:

--- End code ---

--- End quote ---
BricsCAD V20 on TEST CON ARCO2.dwg:

--- Code: ---: _audit
Fix any errors detected? [Yes/No] <No>:y

Name: AcDbBlockGripExpr(45E)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(45F)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(465)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(466)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(474)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(475)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(47C)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbBlockGripExpr(47D)
Value: Double - 1.79769e+307
Validation: Invalid
Replaced by: Set to 0

Name: AcDbProxyObject(6A3)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6B3)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6B6)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6B7)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6B8)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6B9)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6BA)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6BF)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6C0)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6C1)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6C2)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(6C3)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6A0)

Name: AcDbProxyObject(708)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(709)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(707)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(70A)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(705)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(704)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

Name: AcDbProxyObject(706)
Value: Owner Id (0)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(6D9)

1116 objects audited
Total errors found during audit 27, fixed 27[code]
--- End code ---

Lupo76:
BricsCAD works correctly.
The problem is in AutoCAD... :-(

Navigation

[0] Message Index

[#] Next page

Go to full version