Jump to content

LISP Editing Help


Recommended Posts

Hi All,


I'm hoping to get some help in editing a LISP routine please.


I have a LISP created by Charles Darling http://www.gilesdarling.me.uk/lisproutines.shtml which i'm hoping to get some assistance editing slightly to suit my needs better.


I have a cable route which I am trying to create KP (Kilometer Post) flags along. the chainage lisp allows me to do this, but is limited to a point.


The current lisp creates markers at a user specified distance, but only plots the units as meters 700.000. Ideally i'd like to turn the markers into kilometers i.e. 4.5etc. please see attached image for example of desired outcome.


Hope this makes sense and someone is able to help here.



KP Marker Example.jpg


Link to comment
Share on other sites

Good time to learn lisp you will need to look through the code and find the variable for the chainage and divide by 1000 the program is well commented i have found a couple of possible start points particuarly cd_v1 but where its converted to cd_t4


; Internal Variables:
; ===================
; cd_l1 = list of groups of coordinates (x,y), chainage(s), offset(s) and level(s)
; cd_z1 = value of DIMZIN at start of function
; cd_h1 = current text height
; cd_c1 = count through cd_l1
; cd_l2 = copy of list cd_l1 but with chainages and offsets rounded to 3 decimal places
; cd_i1 = item in list cd_l1 or cd_l2
[color="red"]; cd_v1 = item's chainage[/color]
; cd_v2 = item's offset
; cd_m1 = minimum chainage at start of comparison
; cd_m2 = minimum offset at start of comparison
; cd_m3 = maximum chainage
; cd_m4 = maximum offset
; cd_t1, cd_t2, cd_t3, [color="red"]cd_t4[/color], cd_t5 = text for each MTEXT object
; cd_n1 = next comparison chainage
; cd_n2 = next comparison offset
; cd_p1 = point at which to draw MTEXT objects
; cd_x1 = horizontal offset between each MTEXT object

; Internal Variables:
; ===================
; ck_l1 = source polyline parsed list
; ck_n1 = chainage at start of polyline
; [color="red"]ck_n2 = chainage where chainage mark is to be drawn[/color]
; ck_b1 = chainage mark number style (nil for CHXSECT and CHXSECTS)
; ck_s1 = chainage mark line length (bigger for CHXSECT and CHXSECTS)
; ck_c1 = count through ck_l1
; ck_n3 = chainage at start of segment
; ck_z1 = initial value of DIMZIN
; ck_h1 = current text height
; ck_i1 = item in ck_l1
; ck_n4 = length of segment
; ck_p1 = mid-point of chainage mark, then start point for text
; ck_a1 = angle along line or arc, then angle for chainage mark
; ck_t1 = text output
; ck_b2 = flag: T if text output is negative, nil if positive

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...