Jak zamienić (skasować) fragment tekstu w Microstation V8?

Często się zdarza, że chcemy zamienić fragment tekstu w pliku DGN, DWG lub DXF. Nie jest to problem, gdy do zmiany jest kilka tekstów, ale co zrobić, gdy jest tego bardzo dużo. Przykładem jest sytuacja, gdy chcemy np. do wartości liczbowych dodać lub odjąć jakąś wartość. Inny przykład- zmieniły się jednostki i trzeba przesunąć przecinek we wszystkich wartościach.

Właśnie z takim problemem przyszła do mnie koleżanka i pyta: Jak skasować początek wszystkich tekstów? I dodaje czy da się to zrobić funkcją Edit-find/replace tekst w MicrosStation v8?

Jest do zamiany:

24-900019/B/PsV  -->  B-PsV
24-930/N --> N
24-672/RV   -->  RV

Popatrzyłem na przykład i stwierdziłem, że funkcją Edit-find/replace to nie bardzo. Robiłem już kilka podejść do tej metody I nigdy nie miałem zadawalających efektów.

Niby jest możliwość używania Regular Expressions :

Character  Meaning

c

 \c

^

$

.

:a

:d

:n

: A

[...]

[^...]

s*

s+

st

any non-special character c matches itself

 turn off special meaning of character c

beginning of line

end of line

any single character

any alphabetical character [a-z|A-Z]

any digit [0-9]

any alphanumeric character [a-z|A-Z|0-9]

colon followed by a space also matches any punctuation character

any one of the characters in ...; ranges such as a-z are legal

any single character not in ...; ranges are legal

zero or more occurrences of string s

one or more occurrences of string s

string s followed by string t

Jednak, najszybszą metodą, jaka przyszła mi do głowy, był eksport tekstów do pliku tekstowego (csv). Modyfikacja tekstów w Excelu i wciągnięcie skorygowanych tekstów do Microstation. Metoda bardzo naokoło, ale liczy się efekt.

 

Eksport tekstów ze współrzędnymi do Excela, modyfikacja i import do Microstation

Jak to zrobić?


1. W Microstation wyświetlamy tylko te teksty, które chcemy modyfikować.

2. Rysujemy fence (ogrodzenie).

3. Uruchamiamy makro poleceniem macro c:\ExportText_XYZ (w tym przykładzie makro jest w głównym katalogu na dysku c:\) A tu jest rzeczone makro: Makro do exportu tektów z Microstation do pliku tektowego CSV (format: "text",X,Y,Z)
Makro exportuje z DGN/DXF/DWG tylko teksty ze współrzędnymi X Y Z. W makro na sztywno wpisałem ścieżkę wynikowego pliku na c: , może kiedyś przerobię i dodam jakiś interfejs graficzny, na razie jest jak jest. Gdyby coś z makrem było nie tak to proszę o email.

4. Powstaje nam plik c:\ ExportText_XYZ.csv, który wygląda następująco:

"5-794/RVI", 7469194.4, 5800462.72, 0
"5-81/Ls", 7469136.73, 5800521.55, 0
"5-889/B/RVI", 7469121.78, 5800520.41, 0
"5-900080/B/RVI", 7469174.728, 5800510.01, 0
"5-900081/B/RVI", 7469148.478, 5800476.73, 0
"5-900082/B/RVI", 7469163.006, 5800494.61, 0

5. Otwieramy plik Excelem przerabiamy pierwszą kolumnę. Ja użyłem takiej formuły do modyfikacji tekstu: =PODSTAW(PRAWY(A1,DŁ(A1)-SZUKAJ.TEKST("/",A1,1)),"/","-") a tu mój plik z Excel: Przykład - modyfikacja tektów (EXEL)
Jeśli potrzebujemy wykonać inne działania na tekstach to Excel bardzo dobrze się do tego nadaje. Gdy tekstami są liczby to nie ma problemu z przesunięciem przecinka czy dodaniem/odjęciem jakiejś wartości.

6. Po modyfikacjach zapisuję plik CSV (oczywiście zmienione teksty muszą być w pierwszej kolumnie):

RVI,7469194.4,5800462.72,0
Ls,7469136.73,5800521.55,0
B-RVI,7469121.78,5800520.41,0
B-RVI,7469174.728,5800510.01,0
B-RVI,7469148.478,5800476.73,0
B-RVI,7469163.006,5800494.61,0

7. Teraz już tylko importujemy teksty do MicroStation (oczywiście ustawiamy wcześniej prawidłowe parametry kolorów, warstw itd. ). Tools – Annotation – XYZ Text

 

Jeśli komuś się przydał ten opis i zamieszczone makro, to polecam przycisk „Lubię to !!" na górze strony :-)

 

Dodaj komentarz


Kod antyspamowy
Odśwież

Copyright ©   Mariusz Morańda   Wszystkie prawa zastrzeżone