| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Почему при динамическом вводе получается линия другой длины?

Почему при динамическом вводе получается линия другой длины?

Ответ
Поиск в этой теме
Непрочитано 15.04.2013, 17:01 #1
Почему при динамическом вводе получается линия другой длины?
madstoker
 
Регистрация: 15.04.2013
Сообщений: 9

Всем привет. Сломал весь мозг себе. Проблема такая. Возникает, когда в свой файл чертежа вставляю геодезическую съёмку, переведенную из DXF в DWG. Значит включаю инструмент отрезок (или размер, перемещение, копирование.. не важно), цепляюсь привязкой за какую-либо линию вставленного объекта (геодезической съёмки), ставлю там первую точку, затем в нужном направлении выставляю курсор и с клавиатуры ввожу нужное значение длины. Нажимаю enter - получился отрезочек. Замеряю его размером, соответствующего масштаба и получаю совсем не то значение, какое вводил. Причем, если линия проходит по направлению полярного отслеживания (45 градусов например), то она откладывается как положено. А если от этого угла отклониться, то получается отрезок уже другой длины. Заметил, что все линии вставленной съёмки - 3D полилинии и в них значения z не равны нулю. Но у меня чертёж в 2D. И ещё, в рисуемых отрезках, отложенных от этих 3D полилиний то же присутствует значение z. Так что мне нужно сделать, чтобы значения вводились корректно? Как 3D полилинии преобразовать в обычные 2D. Автокад 2010 лайт.
Вот пример "неправильного" отрезка. Обратите внимание, в свойствах справа, дина указана 300, а размер выдаёт 272, и по факту она 272, т.к. короче, чем 300.

Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 132
Размер:	237.0 Кб
ID:	101125  


Последний раз редактировалось madstoker, 15.04.2013 в 17:15.
Просмотров: 5788
 
Непрочитано 15.04.2013, 17:14
#2
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


Попробуйте установить системную переменную OSNAPZ => 1
__________________
Как-то так.
sertor вне форума  
 
Автор темы   Непрочитано 15.04.2013, 17:18
#3
madstoker


 
Регистрация: 15.04.2013
Сообщений: 9


Цитата:
Сообщение от sertor Посмотреть сообщение
Попробуйте установить системную переменную OSNAPZ => 1
А как её установить? Я не в курсе что это такое.
madstoker вне форума  
 
Непрочитано 15.04.2013, 17:42
#4
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


Вбейте в командную строку OSNAPZ =>Enter => 1 => Enter
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 15.04.2013, 17:48
#5
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


Цитата:
Сообщение от madstoker Посмотреть сообщение
Обратите внимание, в свойствах справа, дина указана 300, а размер выдаёт 272, и по факту она 272, т.к. короче, чем 300
300 - длина гипотенузы
272 - длина катета (проекция гипотенузы на плоскость)
размер ставили без привязок

вот лисп (если Z не требуется) - найден на этом форуме
Код:
[Выделить все]
;;;????????? ??? ????????? Z-?????????? ????????.
;;;???????? ????? ?? ????? ??????????? AutoCAD
;;;????? ???????? ? ??? ???? ???? ???????????? :)
;;;????????? ? ??????????? ?????????? ?? ??????
;;; [email protected] ??? icq 106032532
;;;? ????????? ????????????? ??????? ??????
;;; ? ????? http://acadx.com/
(vl-load-com)
;;;________________________________________________________________________________
(mapcar    'vl-doc-export
    '(DOING_FLATTEN         C:FLATTEN_EM_ALL_DBLCLK
      C:FLATTEN_EM_ALL ;|vlxx-ActiveUcs|;
      vlxx-AcadObject     vlxx-ActiveDocument
      modify_xline4         modify_xline3
      modify_xline2         modify_xline1
      modify_xline33     modify_SPLINE
     )
)
;;;________________________________________________________________________________(vlr-remove *JUMouseReactor*)
;;;__________________________________________________________________________
(setq *vlxx-acadobject* nil)        ; Initialize global variable
(defun vlxx-AcadObject ()
  (cond
    (*vlxx-acadobject*)            ; Return the cached object
    (T (setq *vlxx-acadobject* (vlax-Get-Acad-Object)))
  )
)
 ;____________________________________________________________________________
(setq *vlxx-activedocument* nil)    ; Initialize global variable
(defun vlxx-ActiveDocument ()
  (cond
    (*vlxx-activedocument*)        ; Return the cached object
    (T
     (setq *vlxx-activedocument*
        (vla-Get-ActiveDocument (vlxx-AcadObject))
     )
    )
  )
)

(defun vlxx-ActiveUcs ()
(setq *vlxx-activeucs* (vla-get-ActiveUCS *vlxx-activedocument*))
  )

(setq *JUAcad*        (vlxx-AcadObject)
      *JUActiveDoc* (vlxx-activedocument)
                    ; *JUActiveUCS* (vlxx-ActiveUcs)
)


                    ;xxx

(defun DOING_FLATTEN (SEL)
  
  (progn
   (setq J_DO nil)
   (setq ListOffLoadedArx (mapcar 'strcase (arx)))
   (if (or (member "DOSLIB2K.ARX" ListOffLoadedArx)
       (member "DOSLIB2004.ARX" ListOffLoadedArx)
       )
     (setq J_DO T)
   )







    
    (setq SEL_DLIN1 (sslength SEL))
    (while (< k SEL_DLIN1)
      (if (and (> SEL_DLIN1 50) J_DO)
    (progn
      (dos_getprogress
        "Working..."
        "Still working, please wait..."
        SEL_DLIN1
      )
      (if J_DO
      (dos_getprogress -1))
    )
      )

      (setq ename (ssname SEL k)    ;entity name
        elist (entget ename)    ;entity data list
        etype (cdr (assoc 0 elist))    ;entity type
      )


;;;;-----------------------------------------------------------------------------

      (if (or
        (equal etype "INSERT")
        (equal etype "TEXT")
        (equal etype "ATTDEF")
        (equal etype "HATCH")



      )
    (progn

      (setq xline_pt1 (cdr (assoc 10 elist)))
      (if (not (equal (caddr xline_pt1) 0.0))
        (progn
          (setq xline_x1 (car xline_pt1))
          (setq xline_y1 (cadr xline_pt1))
          (setq xline_z1 0)
          (modify_xline33 1)
          (setq schet (1+ schet))
        )
      )
    )
      )

;;;;-----------------------------------------------------------------------------
      (if (or (equal etype "CIRCLE")
          (equal etype "ARC")
          (equal etype "ELLIPSE")

      )
    (progn
                    

      (if (not (equal (caddr xline_pt1) 0.0))
                
        (progn
          (setq *acadArcObj* (vlax-ename->vla-object ename))
          (if (vlax-property-available-p *acadArcObj* 'Center)
        (setq StartPoint
               (vlax-get-property *acadArcObj* 'Center)
        )
          )

          (setq SP (vlax-variant-value StartPoint))

          (setq SP (vlax-safearray->list SP))

          (setq SP (trans SP 0 1))


          (setq CP (vlax-make-safearray vlax-vbdouble '(0 . 2)))
          (vlax-safearray-fill CP SP)

          (vlax-safearray-put-element CP 2 0.0)

          (setq CP (vlax-safearray->list CP))

          (setq CP (trans CP 1 0))


          (setq *CP* (vlax-make-safearray vlax-vbdouble '(0 . 2)))

          (vlax-safearray-fill *CP* CP)

          (if
        (vlax-property-available-p *acadArcObj* 'Center T)
         (progn
           (vlax-put-property *acadArcObj* 'Center *CP*)
           (setq schet (1+ schet))
         )
          )
        )
      )
    )
      )
;;;;-----------------------------------------------------------------------------
      (if (equal etype "HATCH")

    (if (not (equal (cdr (nth 19 elist)) 0.0))
      (progn
        (setq *acadObj* (vlax-ename->vla-object ename))
        (if    (vlax-property-available-p *acadObj* 'Elevation)
          (progn
        (vlax-put-property *acadObj* 'Elevation 0.0)
        (setq schet (1+ schet))
          )
        )
      )
    )


      )

;;;;-----------------------------------------------------------------------------
      (if (equal etype "LWPOLYLINE")    
    (if (not (equal (cdr (assoc 38 elist)) 0.0))
      (progn
        (setq *acadObj* (vlax-ename->vla-object ename))
        (if    (vlax-property-available-p *acadObj* 'Elevation)
          (progn
        (vlax-put-property *acadObj* 'Elevation 0.0)
        (setq schet (1+ schet))
          )
        )
      )
    )


      )
;;;;-----------------------------------------------------------------------------
      (if (equal etype "3DFACE")

    (progn
      (setq pr nil)
      (foreach item    elist
        (if    (equal (car item) 10)
          (progn
        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(10) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(10)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 11)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(11) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(11)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 12)
          (progn
        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(12) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(12)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 13)
          (progn
        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(13) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(13)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
      )
      (if pr
        (setq schet (1+ schet))
      )
      (modify_SPLINE 1)
      (setq pr nil)


    )
      )
;;;;-----------------------------------------------------------------------------

      (if (equal etype "SPLINE")

    (progn
      (setq pr nil)
      (foreach item    elist
        (if    (equal (car item) 10)
          (progn
        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(10) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(10)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 11)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(11) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(11)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
      )
      (if pr
        (setq schet (1+ schet))
      )
      (modify_SPLINE 1)
      (setq pr nil)


    )
      )

      (if (equal etype "SOLID")
    (progn
      (setq pr nil)
      (foreach item    elist

        (if    (equal (car item) 10)
          (progn

        (if (not (equal (cadddr (cdr item)) 0.0))
          (progn

            (setq newlist (subst 0.0 (cadddr item) item))
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 11)
          (progn

        (if (not (equal (cadddr (cdr item)) 0.0))
          (progn

            (setq newlist (subst 0.0 (cadddr item) item))
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 12)
          (progn

        (if (not (equal (cadddr (cdr item)) 0.0))
          (progn

            (setq newlist (subst 0.0 (cadddr item) item))
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )

        (if    (equal (car item) 13)
          (progn

        (if (not (equal (cadddr (cdr item)) 0.0))
          (progn

            (setq newlist (subst 0.0 (cadddr item) item))
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
      )

      (if pr
        (setq schet (1+ schet))
      )
      (modify_SPLINE 1)
      (setq pr nil)


    )
      )


;;;;-----------------------------------------------------------------------------

      (if (or (equal etype "DIMENSION")
          (equal etype "LEADER")
          (equal etype "TOLERANCE")
      )
    (progn
      (setq pr nil)
      (foreach item    elist
        (if    (equal (car item) 10)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(10) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(10)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )

        (if    (equal (car item) 11)
          (progn

        (if (not (equal (cadddr (cdr item)) 0.0))
          (progn

            (setq newlist (subst 0.0 (cadddr item) item))
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )


        (if    (equal (car item) 13)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(13) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(13)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 14)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(14) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(14)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )
        (if    (equal (car item) 15)
          (progn

        (if (not (equal (cadddr (trans (cdr item) 0 1)) 0.0))
          (progn
            (setq item1 (append '(15) (trans (cdr item) 0 1)))
            (setq newlist
               (append
                 '(15)
                 (trans
                   (cdr (subst 0.0 (cadddr item1) item1)
                   )
                   1
                   0
                 )
               )
            )
            (setq elist (subst newlist item elist))
            (setq pr t)
          )
        )
          )
        )





      )


      (if pr
        (setq schet (1+ schet))
      )
      (modify_SPLINE 1)
      (setq pr nil)


    )
      )


 ;_________________________________________________________________________



      (if (equal etype "LINE")
    (progn
      (setq xline_pt1 (trans (cdr (assoc 10 elist)) 0 1))
      (setq xline_pt2 (trans (cdr (assoc 11 elist)) 0 1))
      (if (or (not (equal (caddr xline_pt1) 0.0))
          (not (equal (caddr xline_pt2) 0.0))
          )
        (progn
          (setq *acadLineObj* (vlax-ename->vla-object ename))
          (if
        (and
          (vlax-property-available-p
            *acadLineObj*
            'StartPoint
          )
          (vlax-property-available-p *acadLineObj* 'EndPoint)
        )
         (progn
           (setq StartPoint
              (vlax-get-property *acadLineObj* 'StartPoint)
           )
           (setq EndPoint (vlax-get-property
                    *acadLineObj*
                    'EndPoint
                  )
           )
         )
          )

          (setq StartPoint (vlax-variant-value StartPoint))
          (setq EndPoint (vlax-variant-value EndPoint))
          (setq StartPoint (vlax-safearray->list StartPoint))
          (setq EndPoint (vlax-safearray->list EndPoint))
          (setq StartPoint (trans StartPoint 0 1))
          (setq EndPoint (trans EndPoint 0 1))


          (setq SP (vlax-make-safearray vlax-vbdouble '(0 . 2)))
          (setq EP (vlax-make-safearray vlax-vbdouble '(0 . 2)))
          (vlax-safearray-fill SP StartPoint)
          (vlax-safearray-fill EP EndPoint)





          (vlax-safearray-put-element SP 2 0.0)
          (vlax-safearray-put-element EP 2 0.0)


          (setq SP (vlax-safearray->list SP))
          (setq EP (vlax-safearray->list EP))
          (setq SP (trans SP 1 0))
          (setq EP (trans EP 1 0))


          (setq *SP* (vlax-make-safearray vlax-vbdouble '(0 . 2)))
          (setq *EP* (vlax-make-safearray vlax-vbdouble '(0 . 2)))
          (vlax-safearray-fill *SP* SP)
          (vlax-safearray-fill *EP* EP)



          (if
        (and (vlax-property-available-p
               *acadLineObj*
               'StartPoint
               T
             )
             (vlax-property-available-p
               *acadLineObj*
               'EndPoint
               T
             )
        )
         (progn
           (vlax-put-property *acadLineObj* 'StartPoint *SP*)
           (vlax-put-property *acadLineObj* 'EndPoint *EP*)

           (setq schet (1+ schet))
         )


          )
        )
      )
    )
      )









;;;;-----------------------------------------------------------------------------
      (if (equal etype "MTEXT")

    (progn
      (setq xline_pt1 (trans (cdr (assoc 10 elist)) 0 1))
      (if (not (equal (caddr xline_pt1) 0.0))

        (progn
          (setq xline_x1 (car xline_pt1))
          (setq xline_y1 (cadr xline_pt1))
          (setq xline_z1 0)


          (setq schet (1+ schet))
          (modify_xline1 1)

        )
      )
    )
      )


;;;;-----------------------------------------------------------------------------

      (setq k (1+ k))
    )
    (if    (and (> SEL_DLIN1 50) J_DO)
      (dos_getprogress t)
    )
  )
)
(defun c:FLATTEN_EM_ALL_DBLCLK (*SEL*)
  (DOING_FLATTEN (car *SEL*))
)


(defun c:FLATTEN_EM_ALL    ()

;;;  "3DFACE"!
;;;  "ATTDEF"!
;;;  "HATCH"
;;;  "POINT"
;;;  "POLYLINE"




  (setq k 0)
  (setq    SEL_DLIN1 nil
    xline_pt1 nil
    xline_pt2 nil
    xline_x1 nil
    xline_y1 nil
    xline_z1 nil
    xline_x2 nil
    xline_y2 nil
    xline_z2 nil
    SEL nil

  )
  (setq schet 0)
  (prompt
    "\n???????? ?????????:\n"
  )
  (setq    SEL (ssget '((-4 . "<OR")
             (0 . "LINE")
             (0 . "ARC")
             (0 . "CIRCLE")
             (0 . "ELLIPSE")
             (0 . "SPLINE")
             (0 . "LWPOLYLINE")
             (0 . "INSERT")
             (0 . "DIMENSION")
             (0 . "TEXT")
             (0 . "MTEXT")
             (0 . "ATTDEF")
             (0 . "LEADER")
             (0 . "HATCH")
             (0 . "TOLERANCE")
             (0 . "SOLID")
             (0 . "3DFACE")
             (-4 . "OR>")
            )
        )
  )
  (IF SEL
    (DOING_FLATTEN SEL)
  )

  (princ)
  (cond
    ((and (> schet 1) (< schet 5))
     (prompt (strcat "\n???????? " (itoa schet) " ?????????"))
    )
    ((and (>= schet 5) (< schet 21))
     (prompt (strcat "\n???????? " (itoa schet) " ??????????"))
    )

    ((> schet 20)
     (cond ((and (> (rem schet 10) 1) (< (rem schet 10) 5))
        (prompt (strcat "\n???????? " (itoa schet) " ?????????\n"))
       )

       ((and (>= (rem schet 10) 5) (<= (rem schet 10) 9))
        (prompt (strcat "\n???????? " (itoa schet) " ??????????\n"))
       )
       ((= (rem schet 10) 1)
        (prompt (strcat "\n???????? " (itoa schet) " ????????\n"))
       )
       ((= (rem schet 10) 0)
        (prompt (strcat "\n???????? " (itoa schet) " ??????????\n"))
       )
     )
    )
    ((= schet 1)
     (prompt "\n??????? 1 ????????\n")
    )
    ((= schet 0)
     (prompt "\n\n?? ???? ???????? ?? ???????.\n")
;;;;;;;;;;;;;;;     (if (and (equal etype "LINE") (eq SEL_DLIN1 1))
;;;;;;;;;;;;;;;       (progn
;;;;;;;;;;;;;;;;;;========================================================================
;;;;;;;;;;;;;;;     (setq
;;;;;;;;;;;;;;;       **pt1** (trans
;;;;;;;;;;;;;;;             (trans (cdr (assoc 10 elist)) ename 0)
;;;;;;;;;;;;;;;             0
;;;;;;;;;;;;;;;             1
;;;;;;;;;;;;;;;           )
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     (setq
;;;;;;;;;;;;;;;       **pt2** (trans
;;;;;;;;;;;;;;;             (trans (cdr (assoc 11 elist)) ename 0)
;;;;;;;;;;;;;;;             0
;;;;;;;;;;;;;;;             1
;;;;;;;;;;;;;;;           )
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;      (setq pt_x_dir (trans (getvar "UCSXDIR") 0 1 1))
;;;;;;;;;;;;;;;;;;=========================================================================
;;;;;;;;;;;;;;;     (setq j   0
;;;;;;;;;;;;;;;           UCS nil
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;     (vlxx-ActiveUcs)
;;;;;;;;;;;;;;;     (setq **JUActiveUCS** *vlxx-activeucs*)
;;;;;;;;;;;;;;;;;;=========================================================================
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     (setq ang_of_x_dir
;;;;;;;;;;;;;;;        (angle '(0.0 0.0 0.0)
;;;;;;;;;;;;;;;               pt_x_dir
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;        )
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     (setq **AN**
;;;;;;;;;;;;;;;        (- (angle **pt1** **pt2**)
;;;;;;;;;;;;;;;           ang_of_x_dir
;;;;;;;;;;;;;;;        )
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;     (if (>= **AN** pi)
;;;;;;;;;;;;;;;       (setq **AN** (- **AN**  pi))
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;     (setq VX (list (cos **AN**) (sin **AN**) 0.0)
;;;;;;;;;;;;;;;           VY (list (* -1.0 (sin **AN**)) (cos **AN**) 0.0)
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;     (setq VX (trans VX 1 0)
;;;;;;;;;;;;;;;           VY (trans VY 1 0)
;;;;;;;;;;;;;;;     )
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     (setq VECTORx (vlax-make-safearray vlax-vbdouble '(0 . 2)))
;;;;;;;;;;;;;;;     (setq VECTORy (vlax-make-safearray vlax-vbdouble '(0 . 2)))
;;;;;;;;;;;;;;;     (vlax-safearray-fill VECTORx VX)
;;;;;;;;;;;;;;;     (vlax-safearray-fill VECTORy VY)
;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;     (setq VarVECTORx (vlax-make-variant VECTORx))
;;;;;;;;;;;;;;;     (setq VarVECTORy (vlax-make-variant VECTORy))
;;;;;;;;;;;;;;; 
;;;;;;;;;;;;;;;     (vla-put-XVector **JUActiveUCS** VarVECTORx)
;;;;;;;;;;;;;;;     (vla-put-YVector **JUActiveUCS** VarVECTORy)
;;;;;;;;;;;;;;;     (vla-put-ActiveUCS *JUActiveDoc* **JUActiveUCS**)
;;;;;;;;;;;;;;;     (vlax-release-object **JUActiveUCS**)
;;;;;;;;;;;;;;;     (princ)
;;;;;;;;;;;;;;;;;;=================================================================================
;;;;;;;;;;;;;;;     (prompt "\n??? ????????? ????????? ? ????????.\n")
;;;;;;;;;;;;;;;       )
;;;;;;;;;;;;;;;     )
    )
  )
  (princ)
)







(defun modify_xline1 (flag)
  (setq xline_pt1 (list xline_x1 xline_y1 xline_z1))

  (setq    elist (subst (cons 10 (trans xline_pt1 1 0))
             (assoc 10 elist)
             elist
          )
  )


  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)



(defun modify_xline2 (flag)

  (setq xline_pt2 (list xline_x2 xline_y2 xline_z2))
  (setq    elist (subst (cons 11 (trans xline_pt2 1 0))
             (assoc 11 elist)
             elist
          )
  )

  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)


(defun modify_xline3 (flag)

  (setq xline_pt3 (list xline_x3 xline_y3 xline_z3))
  (setq    elist (subst (cons 12 (trans xline_pt3 1 0))
             (assoc 12 elist)
             elist
          )
  )

  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)

(defun modify_xline4 (flag)

  (setq xline_pt4 (list xline_x4 xline_y4 xline_z4))
  (setq    elist (subst (cons 13 (trans xline_pt4 1 0))
             (assoc 13 elist)
             elist
          )
  )

  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)
 ;______________________________________________________________
(defun modify_xline33 (flag)
  (setq xline_pt1 (list xline_x1 xline_y1 xline_z1))
  (setq    elist (subst (cons 10 xline_pt1)
             (assoc 10 elist)
             elist
          )
  )



  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)

 ;______________________________________________________________
(defun modify_SPLINE (flag)
  (if (= 1 flag)
    (entmod elist)
  )
  (princ)
)
PsixVK вне форума  
 
Непрочитано 15.04.2013, 17:52
#6
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


PsixVK, версия AutoCADa то LT.
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 15.04.2013, 18:00
#7
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


я конечно не хочу рекламировать пиратство но, что мешает купить автокад?
PsixVK вне форума  
 
Непрочитано 15.04.2013, 18:03
#8
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,374


Цитата:
Сообщение от PsixVK Посмотреть сообщение
я конечно не хочу рекламировать пиратство но, что мешает купить автокад?
Версия LT вполне может быть лицензионной, но несколько урезанной.
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 15.04.2013, 20:08
#9
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Надо не миниатюры прикладывать, а файлы dwg.
engngr вне форума  
 
Автор темы   Непрочитано 16.04.2013, 10:33
#10
madstoker


 
Регистрация: 15.04.2013
Сообщений: 9


Вот файл DWG. Автокад LT лицензионный, но урезанный, в нём нет 3D пространства. Пиратский не может быть установлен в организации, т.к. отдел К скажет аяяй. Размеры все выставлены с привязками. Пробовал вводить в командную строку osnapz - неизвестная команда.
Вложения
Тип файла: dwg
DWG 2010
1.dwg (1.52 Мб, 1341 просмотров)

Последний раз редактировалось madstoker, 16.04.2013 в 10:38.
madstoker вне форума  
 
Непрочитано 16.04.2013, 10:53
#11
engngr

сети
 
Регистрация: 03.11.2008
Московия*
Сообщений: 5,767


Всё верно autocad чертит: длина любого отрезка - 300; проекции на xoy - короче. Смотрите координаты по z у начала и конца и длину.
Вводить _osnapz. Похоже, osnapz в LT не доступна (http://www.cadforum.cz/cadforum_en/v...asp?cmd=OSNAPZ).
Еще лучше - сделать себе нормальную подоснову, где не надо было бы думать о неверной привязке по z, из того месива.
engngr вне форума  
 
Непрочитано 16.04.2013, 10:58
#12
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


madstoker, вот вид спереди на твой файл. Явный разброс по оси Z.
Чертёж выполнен, в основном, 3D-полилиниями. Вот тебе и лайт.
PS черти, тогда, не линиями, а полилиниями. Хоть в одной плоскости будут
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.jpg
Просмотров: 58
Размер:	47.7 Кб
ID:	101166  
Хмурый вне форума  
 
Непрочитано 16.04.2013, 11:12
#13
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


так я что то не пойму если LT то что лисп не возможно использовать???

http://www.youtube.com/watch?v=to8OiEGtQcU вот тоже LT но лисп используют
PsixVK вне форума  
 
Автор темы   Непрочитано 16.04.2013, 11:12
#14
madstoker


 
Регистрация: 15.04.2013
Сообщений: 9



Данный чертёж создан в другой проге. Геодезической наверное, и сохранён в dxf (скорее всего в 3д). Я его открываю в LT и сохраняю в DWG. Потом переношу его на свою основу для работы с ним. И вот тогда появляются траблы с размерами... Я просто думал, что можно как-то привести его в плоский вид. А точняк, полилинии откладываются как надо. Спасибо. Только вот перемещение их, либо копирование тоже кривое.
madstoker вне форума  
 
Непрочитано 16.04.2013, 11:15
#15
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


appload и выбрать вложенный файл
потом выполнить команду FLATTEN_EM_ALL и выбрать все объекты
коорд Z в ноль.LSP
PsixVK вне форума  
 
Непрочитано 16.04.2013, 11:16
#16
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


Цитата:
Сообщение от PsixVK Посмотреть сообщение
appload и выбрать вложенный файл
Ай, молодца! Лисп для AutoCAD Lite соорудил...
Хмурый вне форума  
 
Автор темы   Непрочитано 16.04.2013, 11:18
#17
madstoker


 
Регистрация: 15.04.2013
Сообщений: 9


Цитата:
Сообщение от PsixVK Посмотреть сообщение
так я что то не пойму если LT то что лисп не возможно использовать???

Increase Size Decrease Size How to Load LISP in AutoCAD LT
http://www.youtube.com/watch?v=to8OiEGtQcU вот тоже LT но лисп используют
Вот тут, прочитал, что с LT не получится. http://dwg.ru/pub/9
PS appload тоже неизвестная команда для моего LT
madstoker вне форума  
 
Непрочитано 16.04.2013, 11:21
#18
PsixVK


 
Регистрация: 19.10.2012
Киев
Сообщений: 749


капец
я и не знал что в LT лисп не работает
да и не пользовался никогда LT
я бы сначала попытался заковырять лисп в кад - а вдруг заработает

можно бистренько выделтьб все и пройтись по объектам в свойствах (свойства то показывает) и всему что встретится Z присвоить 0

Последний раз редактировалось PsixVK, 16.04.2013 в 11:31.
PsixVK вне форума  
 
Автор темы   Непрочитано 16.04.2013, 11:51
#19
madstoker


 
Регистрация: 15.04.2013
Сообщений: 9


А вот если так сделать. Открыть файл в полной версии (ну дома например). В полном автокаде вроде, как есть функция плоский снимок. Сделать этот самый снимок, пересохранить файл. В этом случае уйдут значения по оси Z?
madstoker вне форума  
 
Непрочитано 16.04.2013, 11:55
#20
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,327


madstoker, плоский снимок работает только с твёрдыми телами, областями и, вроде, поверхностями.
В твоём случае- ничего не выйдет.
Необх. применить команду _flatten из комплекта Express Tools или Super Flatten или программу, которую PsixVK в сообщении #15 выложил
Хмурый вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Динамические блоки > Почему при динамическом вводе получается линия другой длины?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в Autocad 2010 rus не получается назначить команде псевдоимя "h" (в pgp)? AlexV AutoCAD 4 21.07.2010 08:29
Почему при расчёте в Robote простой схемы эпюра My получается неправильной? МишаИнженер Robot 13 02.03.2010 12:26
Почему пр армировании ригеля в Robote получается арматуры в 2-6 раз больше? МишаИнженер Robot 1 21.02.2010 12:54
Region из Polyline - почему не получается? discovery AutoCAD 10 30.06.2008 21:15
Загадочная линия нулевой длины Vova AutoCAD 6 27.06.2004 23:40