dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Извлечение длины полилинии в текст и интерпретация размера как шага элементов с последующим выводом в чертеже

Извлечение длины полилинии в текст и интерпретация размера как шага элементов с последующим выводом в чертеже

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 17.07.2017, 13:52 #1
Извлечение длины полилинии в текст и интерпретация размера как шага элементов с последующим выводом в чертеже
Маккс
 
Регистрация: 27.10.2009
Сообщений: 31

Маккс вне форума Вставить имя

Уважаемые Господа,
к сожалению не нашел ответа на интересующий меня вопрос и заранее прошу великодушно меня простить если я неверно интерпретировал результаты поиска
Задача которую я хочу просить Вас помочь мне автоматизировать:
я ввожу в командной строке значение диаметра стержня, и шага арматуры, далее выбираю стержень (линия или полилиния, может быть ломаной) и размер
программа в указанном месте выводит диаметр, длину полилинии и количество: (размер деленый на шаг)+1 в виде текста , при чем длина, диаметр и количество должны быть разными текстовыми элементами
например ;25; ;1570; ;75; текстовые элементы расположены последовательно и цвет текста отличается в зависимости от диаметра,
Заранее Вам благодарен
Максим
Просмотров: 1425
 
Непрочитано 17.07.2017, 15:31
#2
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,100
Отправить сообщение для maratovich с помощью Skype™


Offtop: Чтобы раззадорить лисперов - я угадаю этот код на VB6 за 200.
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 17.07.2017, 19:18
#3
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,100
Отправить сообщение для maratovich с помощью Skype™


Маккс
Вы создали тему в "Программирование", что подразумевает помощь в проблемах кода.
Если Вы не приложите свой код, то вам скорее всего не ответят, т.к. с ноля здесь делать не будут.
Если Вы хотите получить готовое , тогда Вам сюда Поиск исполнителей
Миниатюры
Нажмите на изображение для увеличения
Название: Pr.gif
Просмотров: 57
Размер:	41.5 Кб
ID:	191108  
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 10:24
#4
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


А если внятно задачу не поставите, то уж точно ничего не автоматизируется. Лично я вот мало что понял из пожеланий к программе.
__________________
На работе было скучно:shout:
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.07.2017, 11:24
#5
Маккс


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


Цитата:
Сообщение от ciril Посмотреть сообщение
А если внятно задачу не поставите, то уж точно ничего не автоматизируется. Лично я вот мало что понял из пожеланий к программе.
1. Пользователь вручную вводит 2 значения: значение1 и значение2
2. Пользователь указывает полилинию и размер
3. В указанной точке выводится три текстовых элемента:
-значение1
-длина полилинии
-(значение размера)/значение2+1
4. Цвет текста вывода зависит от значения1

на данный момент я могу только получить длину полилинии:

"(defun c:z-pline-length (/ cEnt tStr tBox tHgt tWid gr sPt cPt lAng bPt tPt pt1 pt2 pt3 pt4)
(vl-load-com)
(if (and (setq cEnt (car (entsel "\nSelect Object: ")))
(member (cdr (assoc 0 (entget cEnt)))
'("LWPOLYLINE" "POLYLINE" "LINE")))
(progn
(setq tStr (rtos (vla-get-length
(vlax-ename->vla-object cEnt)))
tBox (textbox (list (cons 1 tStr) (cons 40 (getvar "TEXTSIZE"))))
tHgt (- (cadadr tBox) (cadar tBox))
twid (- (caadr tBox) (caar tBox)))
(princ "\nPosition Text...")
(while (eq 5 (car (setq gr (grread t 5 0))))
(redraw)
(if (listp (setq sPt (cadr gr)))
(progn
(setq cPt (vlax-curve-getClosestPointto cEnt sPt)
lAng (angle cPt sPt)
bpt (polar cPt lAng (/ (getvar "TEXTSIZE") 2.))
tpt (polar bpt lAng tHgt)
mPt (polar bPt lAng (/ tHgt 2.))
pt1 (polar bpt (+ lAng (/ pi 2.)) (/ tWid 2.))
pt2 (polar bPt (- lAng (/ pi 2.)) (/ tWid 2.))
pt3 (polar tpt (+ lAng (/ pi 2.)) (/ tWid 2.))
pt4 (polar tPt (- lAng (/ pi 2.)) (/ tWid 2.)))
(grvecs (list -3 pt1 pt2 pt3 pt4 pt1 pt3 pt2 pt4)))))
(if (eq 3 (car gr))
(progn
(setq lAng (- lAng (/ pi 2.)))
(cond ((and (> lAng (/ pi 2)) (<= lAng pi))
(setq lAng (- lAng pi)))
((and (> lAng pi) (<= lAng (/ (* 3 pi) 2)))
(setq lAng (+ lAng pi))))
(Make_Text mPt tStr lAng))))
(princ "\n<!> Incorrect Selection <!>"))
(redraw)
(princ))

(defun Make_Text (pt val rot)
(entmake
(list
(cons 0 "TEXT")
(cons 8 (getvar "CLAYER"))
(cons 62 2)
(cons 10 pt)
(cons 40 (getvar "TEXTSIZE"))
(cons 1 val)
(cons 50 rot)
(cons 7 (getvar "TEXTSTYLE"))
(cons 71 0)
(cons 72 1)
(cons 73 2)
(cons 11 pt))))"

С уважением
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 11:26
#6
baksconstructor


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


Чё вы паритесь вон maratovich уже всё сделал , смотрите его картинку
baksconstructor вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 13:37
#7
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


Вот как задачу, понял, так и написал
Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size)
  (setq text-size (cons 40 (getvar 'textsize)))
  (mapcar (function (lambda (var str) (initget 1) (set var (getreal (strcat "\nВедите " str)))))
          '(diam step)
          '("диаметр стержня: " "шаг арматуры: "))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (mapcar (function (lambda (in)
                      (entmake (list '(0 . "TEXT")
                                     '(100 . "AcDbText")
                                     (cons 1 (car in))
                                     (cons 10 (cadr in))
                                     text-size
                                     '(72 . 0)
                                     '(73 . 0)))))
          (list (list (setq diam (rtos diam 2 1))
                      (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки"))))
                (list (setq core (rtos (vla-get-length (vlax-ename->vla-object core)) 2 1))
                      (setq auxi (mapcar '+
                                         auxi
                                         (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat diam "_")) text-size))))) 0.0 0.0))))
                (list (rtos (/ (cdr (assoc 42 dim)) (1+ step)) 2 1)
                      (mapcar '+
                              auxi
                              (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat core "_")) text-size))))) 0.0 0.0))))))
__________________
На работе было скучно:shout:
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.07.2017, 15:39
#8
Маккс


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


Цитата:
Сообщение от ciril Посмотреть сообщение
Вот как задачу, понял, так и написал
Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size)
  (setq text-size (cons 40 (getvar 'textsize)))
  (mapcar (function (lambda (var str) (initget 1) (set var (getreal (strcat "\nВедите " str)))))
          '(diam step)
          '("диаметр стержня: " "шаг арматуры: "))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (mapcar (function (lambda (in)
                      (entmake (list '(0 . "TEXT")
                                     '(100 . "AcDbText")
                                     (cons 1 (car in))
                                     (cons 10 (cadr in))
                                     text-size
                                     '(72 . 0)
                                     '(73 . 0)))))
          (list (list (setq diam (rtos diam 2 1))
                      (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки"))))
                (list (setq core (rtos (vla-get-length (vlax-ename->vla-object core)) 2 1))
                      (setq auxi (mapcar '+
                                         auxi
                                         (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat diam "_")) text-size))))) 0.0 0.0))))
                (list (rtos (/ (cdr (assoc 42 dim)) (1+ step)) 2 1)
                      (mapcar '+
                              auxi
                              (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat core "_")) text-size))))) 0.0 0.0))))))
Мощь!!! спасибо огромное!!! Вы настоящий мастер!!! скажите а можно значение количества округлить вверх до ближайшего целого? и сделать так чтобы цвет текста зависил от диаметра, так чтобы текст относящийся к одному и тому же диаметру был одинакового цвета?
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 16:00
#9
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


Не за что же В нужном месте в функции преобразования числа в строку: (rtos число режим точность), замени точность на 0 (сейчас везде 1), будет округлять до ближайшего целого.
А вот чтобы тексты относящиеся к одному и тому же диаметру были одного цвета, именно этого я и не понял. Диаметр произвольный или есть какой-то сортамент? И как соотнести число диаметра и цвет текста, то есть какому диаметру какой цвет соответствует.
__________________
На работе было скучно:shout:
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.07.2017, 16:06
#10
Маккс


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


Цитата:
Сообщение от ciril Посмотреть сообщение
Не за что же В нужном месте в функции преобразования числа в строку: (rtos число режим точность), замени точность на 0 (сейчас везде 1), будет округлять до ближайшего целого.
А вот чтобы тексты относящиеся к одному и тому же диаметру были одного цвета, именно этого я и не понял. Диаметр произвольный или есть какой-то сортамент? И как соотнести число диаметра и цвет текста, то есть какому диаметру какой цвет соответствует.
Уважаемый Кирилл,
если ставить значние 0 то программа округляет до ближайшего целого, а мне нужно чтобы дробь была округлена до целого вверх. как это сделать?
есть сортамент: 6-8-10-12-14-16-18-20-22-25-28-32-36-40. Соотношение цвета и арматуры любое- как Вам удобно писать- важно чтобы потом можно было отфильтровать текст по цвету/диаметру.
Огромное Вам спасибо!!!
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 16:24
#11
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


Было бы за что А шаг арматуры произвольный?
__________________
На работе было скучно:shout:
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.07.2017, 16:38
#12
Маккс


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


[quote=ciril;1661846]Было бы за что А шаг арматуры произвольный?[/QUOTE
Шаг арматуры произвольный
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.07.2017, 17:25
1 | 1 #13
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size text-color)
  (setq auxi       '(("6" . 10)
                     ("8" . 20)
                     ("10" . 30)
                     ("12" . 40)
                     ("14" . 50)
                     ("16" . 60)
                     ("18" . 70)
                     ("20" . 80)
                     ("22" . 90)
                     ("25" . 100)
                     ("28" . 110)
                     ("32" . 120)
                     ("36" . 130)
                     ("40" . 140))
        diam       (progn (initget 1 (apply 'strcat (mapcar (function (lambda (in) (strcat " " (car in)))) auxi)))
                          (getkword (strcat "\nВедите диаметр ["
                                            (apply 'strcat (mapcar (function (lambda (in) (strcat "/" (car in)))) auxi))
                                            "]: ")))
        step       (progn (initget 7) (getreal "\nВедите шаг: "))
        text-size  (cons 40 (getvar 'textsize))
        text-color (cons 62 (cdr (assoc diam auxi))))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (mapcar (function (lambda (in)
                      (entmake (list '(0 . "TEXT")
                                     '(100 . "AcDbText")
                                     (cons 1 (car in))
                                     (cons 10 (cadr in))
                                     text-size
                                     text-color
                                     '(72 . 0)
                                     '(73 . 0)))))
          (list (list diam (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки"))))
                (list (setq core (rtos (vla-get-length (vlax-ename->vla-object core)) 2 1))
                      (setq auxi (mapcar '+
                                         auxi
                                         (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat diam "_")) text-size))))) 0.0 0.0))))
                (list (rtos (1+ (fix (/ (cdr (assoc 42 dim)) (1+ step)))) 2 0)
                      (mapcar '+
                              auxi
                              (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat core "_")) text-size))))) 0.0 0.0))))))
Цветовую палитру соответствия можешь сам поправить: в первом присваивании в auxi список точечных пар, где cdr - цвет.
__________________
На работе было скучно:shout:

Последний раз редактировалось ciril, 18.07.2017 в 17:42.
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.07.2017, 17:56
#14
Маккс


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


Цитата:
Сообщение от ciril Посмотреть сообщение
Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size text-color)
  (setq auxi       '(("6" . 10)
                     ("8" . 20)
                     ("10" . 30)
                     ("12" . 40)
                     ("14" . 50)
                     ("16" . 60)
                     ("18" . 70)
                     ("20" . 80)
                     ("22" . 90)
                     ("25" . 100)
                     ("28" . 110)
                     ("32" . 120)
                     ("36" . 130)
                     ("40" . 140))
        diam       (progn (initget 1 (apply 'strcat (mapcar (function (lambda (in) (strcat " " (car in)))) auxi)))
                          (getkword (strcat "\nВедите диаметр ["
                                            (apply 'strcat (mapcar (function (lambda (in) (strcat "/" (car in)))) auxi))
                                            "]: ")))
        step       (progn (initget 7) (getreal "\nВедите шаг: "))
        text-size  (cons 40 (getvar 'textsize))
        text-color (cons 62 (cdr (assoc diam auxi))))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (mapcar (function (lambda (in)
                      (entmake (list '(0 . "TEXT")
                                     '(100 . "AcDbText")
                                     (cons 1 (car in))
                                     (cons 10 (cadr in))
                                     text-size
                                     text-color
                                     '(72 . 0)
                                     '(73 . 0)))))
          (list (list diam (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки"))))
                (list (setq core (rtos (vla-get-length (vlax-ename->vla-object core)) 2 1))
                      (setq auxi (mapcar '+
                                         auxi
                                         (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat diam "_")) text-size))))) 0.0 0.0))))
                (list (rtos (1+ (fix (/ (cdr (assoc 42 dim)) (1+ step)))) 2 0)
                      (mapcar '+
                              auxi
                              (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat core "_")) text-size))))) 0.0 0.0))))))
Цветовую палитру соответствия можешь сам поправить: в первом присваивании в auxi список точечных пар, где cdr - цвет.
Идеал!!!! скажите пожалуйста а можно ли добавить еще два числа?
1: пи/4*(d/1000)^2*(длинна стержня/1000)*7850
2. пи/4*(d/1000)^2*(длинна стержня/1000)*(количество стержней)*7850
Заранее черезвычайно благодарен
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.07.2017, 16:10
1 | #15
ciril

САПР
 
Регистрация: 29.09.2011
СПб
Сообщений: 206


Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size text-color)
  (setq auxi       '(("6" . 10)
                     ("8" . 20)
                     ("10" . 30)
                     ("12" . 40)
                     ("14" . 50)
                     ("16" . 60)
                     ("18" . 70)
                     ("20" . 80)
                     ("22" . 90)
                     ("25" . 100)
                     ("28" . 110)
                     ("32" . 120)
                     ("36" . 130)
                     ("40" . 140))
        diam       (progn (initget 1 (apply 'strcat (mapcar (function (lambda (in) (strcat " " (car in)))) auxi)))
                          (getkword (strcat "\nВедите диаметр ["
                                            (apply 'strcat (mapcar (function (lambda (in) (strcat "/" (car in)))) auxi))
                                            "]: ")))
        step       (progn (initget 7) (getreal "\nВедите шаг: "))
        text-size  (cons 40 (getvar 'textsize))
        text-color (cons 62 (cdr (assoc diam auxi)))
        diam (atoi diam))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки")))
  (mapcar (function
            (lambda (in)
              (entmake (list '(0 . "TEXT")
                             '(100 . "AcDbText")
                             (cons 1 (setq in (rtos (car in) 2 (cdr in))))
                             (cons 10 auxi)
                             text-size
                             text-color
                             '(72 . 0)
                             '(73 . 0)))
              (setq auxi (mapcar '+
                                 auxi
                                 (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat in "_")) text-size))))) 0.0 0.0)))))
          (list (cons diam 0)
                (cons (setq core (vla-get-length (vlax-ename->vla-object core))) 1)
                (cons (setq step (1+ (fix (/ (cdr (assoc 42 dim)) (1+ step))))) 0)
                (cons (setq core (* (expt (* (/ pi 4) (/ diam 1000.0)) 2) (/ core 1000.0) 7850)) 1)
                (cons (* core step) 1))))
Заранее не за что
__________________
На работе было скучно:shout:
ciril вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 25.07.2017, 15:59
#16
Маккс


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


Цитата:
Сообщение от ciril Посмотреть сообщение
Код:
[Выделить все]
 (defun aiku:out-text-arr  (/ diam step auxi core dim text-size text-color)
  (setq auxi       '(("6" . 10)
                     ("8" . 20)
                     ("10" . 30)
                     ("12" . 40)
                     ("14" . 50)
                     ("16" . 60)
                     ("18" . 70)
                     ("20" . 80)
                     ("22" . 90)
                     ("25" . 100)
                     ("28" . 110)
                     ("32" . 120)
                     ("36" . 130)
                     ("40" . 140))
        diam       (progn (initget 1 (apply 'strcat (mapcar (function (lambda (in) (strcat " " (car in)))) auxi)))
                          (getkword (strcat "\nВедите диаметр ["
                                            (apply 'strcat (mapcar (function (lambda (in) (strcat "/" (car in)))) auxi))
                                            "]: ")))
        step       (progn (initget 7) (getreal "\nВедите шаг: "))
        text-size  (cons 40 (getvar 'textsize))
        text-color (cons 62 (cdr (assoc diam auxi)))
        diam (atoi diam))
  (while (not (and (setq core (car (entsel "\nУкажите стержень")))
                   (or (eq "LINE" (setq auxi (cdr (assoc 0 (entget core))))) (eq "LWPOLYLINE" auxi))))
    (princ "\nСтержень не указан"))
  (while (not (and (setq dim (car (entsel "\nУкажите размер")))
                   (eq "DIMENSION" (cdr (assoc 0 (setq dim (entget dim)))))))
    (princ "\nРазмер не указан"))
  (setq auxi (progn (initget 3) (getpoint "\nУкажите точку вставки")))
  (mapcar (function
            (lambda (in)
              (entmake (list '(0 . "TEXT")
                             '(100 . "AcDbText")
                             (cons 1 (setq in (rtos (car in) 2 (cdr in))))
                             (cons 10 auxi)
                             text-size
                             text-color
                             '(72 . 0)
                             '(73 . 0)))
              (setq auxi (mapcar '+
                                 auxi
                                 (list (car (apply 'mapcar (cons '+ (textbox (list (cons 1 (strcat in "_")) text-size))))) 0.0 0.0)))))
          (list (cons diam 0)
                (cons (setq core (vla-get-length (vlax-ename->vla-object core))) 1)
                (cons (setq step (1+ (fix (/ (cdr (assoc 42 dim)) (1+ step))))) 0)
                (cons (setq core (* (expt (* (/ pi 4) (/ diam 1000.0)) 2) (/ core 1000.0) 7850)) 1)
                (cons (* core step) 1))))
Заранее не за что
Уважаемый Кирилл,
Программа Супер. Все работает идеально!
а можно ли сделать так чтобы длину и количество стержней можно было бы указывать вручную?
С уважением
Максим
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.07.2017, 16:04
| 1 #17
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,379


Весь топик, просто классика: «Дайте воды попить, а то так есть хочется, что переночевать негде!»
=о)
Boxa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.07.2017, 06:52
#18
baksconstructor


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
Весь топик, просто классика: «Дайте воды попить, а то так есть хочется, что переночевать негде!»
Причем на нескольких форумах и на забугорных тоже, вариантов решения дофигища
baksconstructor вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 26.07.2017, 11:37
#19
Маккс


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


Уважаемый baksconstructor, а можете дать несколько ссылок на варианты решения которых "дофигища",
Заранее благодарен
Маккс вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 26.07.2017, 11:56
#20
baksconstructor


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


Зачем ? Они же Ваши.
http://www.cadtutor.net/forum/showth...-text-elements
baksconstructor вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Извлечение длины полилинии в текст и интерпретация размера как шага элементов с последующим выводом в чертеже

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определяются расчетные длины элементов плоских ферм? msv_mnv Металлические конструкции 21 18.02.2016 23:54
Расчетные длины элементов ЛИРА-САПР/СНиП/СП/Катюшин gdenisn Лира / Лира-САПР 5 01.09.2015 20:19
Добавление в чертеж длины полилинии Кочетков Андрей Программирование 28 19.01.2014 12:22
Как вытащить длины элементов в таблицу? s7onoff SCAD 13 17.10.2013 17:58
Текст вдоль полилинии или сплайна (по кривой) Denioska AutoCAD 11 31.03.2013 13:57

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы